別のプログラムにインポートするためのXML出力ファイルを作成しようとしています。提供されたXMLファイルの例は次のようになります。
<SalesOrder>
<OrderHeader>
<BillTo>
<EntityID>1234</EntityID>
</BillTo>
</OrderHeader>
<LineItemList>
<OrderLineComment>
<LineItemID>1</LineItemID>
</OrderLineComment>
<LineItem>
...
</LineItem>
<LineItem>
...
</LineItem>
<LineItem>
...
</LineItem>
...
</LineItemList>
</SalesOrder>
この部分を除いて、XmlSerializerを使用してこのタイプのファイルを出力できるC#プロジェクトがあります。
<LineItemList>
<OrderLineComment>
<LineItemID>1</LineItemID>
</OrderLineComment>
LineItemListセクションは単なるLineItemのリストですが、LineItemListの先頭には、この異なる要素OrderLineCommentが追加されています。
これをLineItemsの配列として表すと、OrderLineCommentがないことを除いて、同じように見えます。これを、OrderLineCommentとLineItemsの配列を含む新しいオブジェクトLineItemListとして表すと、次のようになります。
<LineItemList>
<OrderLineComment>
<LineItemID>1</LineItemID>
</OrderLineComment>
<LineItems>
<LineItem>
...
</LineItem>
...
</LineItems>
すべてのLineItemをタグでラップすることを除いて、これは私が望むものを持っていますが<LineItems>
、これも私が望むものではありません。
だから私が疑問に思っているのは:
- XmlSerializerを介してこれを行う方法はありますか?もしそうなら、どのように?
- ない場合、XmlSerializer以外のものを使用するようにコードを書き直す必要がある場合、これを行うための最良の方法とその理由は何ですか?
前もって感謝します。