私はxml文字列を変換したいと思います(外部ツールを使用してバイト配列から構築された自分自身。
ドキュメントと入力文字列はすべて同じ xsd で作成され、文字列を読み取ってpub.string:stringToBytes
から XmlNode を取得します。pub.xml:xmlStringToXMLNode
この部分はうまく機能します。
その後、ドキュメントを作成し、Doc と呼びます。私は電話しますpub.xml:xmlNodeToDocument
。しかし、返されたドキュメントは正しいタイプではありません。つまり、すべてのデータは正しい名前で正しいのですが、一部のデータを別のドキュメントにマップしようとすると、うまくいきません。
私はそれが明確ではないことを知っています、申し訳ありません。したがって、詳細には、単純な xsd があります。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/XMLSchema.xsd"
xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:complexType name="EtdDaCisIUpdParty">
<xs:sequence>
<xs:element name="wUpdatetsMax">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="15"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wTpsnEtendu" type="WTpsnEtendu"/>
<xs:element name="wTpsnExt" type="WTpsnExt" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="WTpsnEtendu">
<xs:sequence>
<xs:element name="Id" type="xs:string"></xs:element>
<xs:element name="Name" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="WTpsnExt">
<xs:sequence>
<xs:element name="key" type="xs:string"></xs:element>
<xs:element name="value" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="EtdDaCisIUpdParty" type="EtdDaCisIUpdParty" />
</xs:schema>
そして、この xsd に準拠する対応する xml 文字列:
<?xml version="1.0" encoding="utf-8"?>
<mstns:EtdDaCisIUpdParty xmlns:mstns="http://tempuri.org/XMLSchema.xsd" >
<mstns:wUpdatetsMax>40</mstns:wUpdatetsMax>
<mstns:wTpsnEtendu>
<mstns:Id>13</mstns:Id>
<mstns:Name>Test</mstns:Name>
</mstns:wTpsnEtendu>
<mstns:wTpsnExt>
<mstns:key>1</mstns:key>
<mstns:value>one</mstns:value>
</mstns:wTpsnExt>
<mstns:wTpsnExt>
<mstns:key>2</mstns:key>
<mstns:value>something</mstns:value>
</mstns:wTpsnExt>
<mstns:wTpsnExt>
<mstns:key>3</mstns:key>
<mstns:value>nothing</mstns:value>
</mstns:wTpsnExt>
</mstns:EtdDaCisIUpdParty>
次に、xml 文字列をドキュメントに変換するフロー サービスがあります。
動作しているように見えますが、そうではありません。単純なマップを追加すると、処理されませんでした:
結果のパイプラインには、最後のマップの値が含まれることはありません。デバッグ モードを使用した後、結果のドキュメントpub.xml:xmlStringToXMLNode
が自分のドキュメントと同じタイプではないことを理解しました。
Id
パイプライン アウトの文字列がありません。
私の理解と私の例の何が問題になっていますか?