読み込もうとしているXMLファイルと対応するXSDファイルの両方を含むZIPファイルをhttp://www.bonnland.de/FIBEX.zipにアップロードしました。
XmlSerializerを使用して次のXML(フラグメント)を逆シリアル化しようとしています。そうしていると、エラーが発生します:(ドイツ語であるため申し訳ありませんが、イタリック体で大まかな翻訳を行います)
System.InvalidOperationException ==> Fehler im XML-ドキュメント(90,7)。 System.InvalidOperationException ==> Der angegebene Typ wurde nicht erkannt:Name ='CONTROLLER-TYPE'、Namespace ='http://www.asam.net/xml/fbx/can'、bei。
これは次のように解釈されます。
System.InvalidOperationException ==> XMLドキュメント(90,7)のエラー。 System.InvalidOperationException ==>指定されたタイプが見つかりませんでした:Name ='CONTROLLER-TYPE'、Namespace ='http://www.asam.net/xml/fbx/can'、at
ソースドキュメントは次のとおりです。
<fx:ECU ID="ecuSpeedControl">
<ho:SHORT-NAME>SpeedControl</ho:SHORT-NAME>
<ho:DESC>ECU controlling drive speed</ho:DESC>
<fx:CONTROLLERS>
<fx:CONTROLLER xsi:type="can:CONTROLLER-TYPE" ID="ctrlSpeedControl">
<ho:SHORT-NAME>ctrlSpeedControl</ho:SHORT-NAME>
<ho:DESC>CAN controller of ECU</ho:DESC>
<fx:CHIP-NAME>SJA1000</fx:CHIP-NAME>
<can:TIME-SEG0>11</can:TIME-SEG0>
<can:TIME-SEG1>4</can:TIME-SEG1>
<can:SYNC-JUMP-WIDTH>2</can:SYNC-JUMP-WIDTH>
<can:NUMBER-OF-SAMPLES>1</can:NUMBER-OF-SAMPLES>
</fx:CONTROLLER>
</fx:CONTROLLERS>
</fx:ECU>
ルート要素は次のとおりです。
<fx:FIBEX xmlns:fx="http://www.asam.net/xml/fbx" xmlns:ho="http://www.asam.net/xml"
xmlns:can="http://www.asam.net/xml/fbx/can" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="fibex4can.xsd" VERSION="3.1.0">
このフラグメントのクラス定義は次のとおりです。
public ref class FIBEXECU : AbstractFIBEXNode, IGenericContainable
{
public:
ref class ControllersContainer : FIBEXGenericContainer<FIBEXController^>{
public:
[XmlElement("CONTROLLER")]
property array<FIBEXController^>^ ControllerObjs {
array<FIBEXController^>^ get() { return Children;}
void set(array<FIBEXController^>^ value) { Children = value;}
}
};
[XmlAttribute("ID")]
virtual property String^ ID;
[XmlElement("SHORT-NAME", Namespace="http://www.asam.net/xml")]
property String^ ShortName;
[XmlElement("CONTROLLERS")]
property ControllersContainer^ Controllers;
};
私はグーグルやここで解決策を見つけられなかったので、(もう一度)誰かが私を助けてくれることを願っています。