Я пытаюсь создать выходной файл XML для импорта в другую программу. Пример XML-файла, который мне дали, выглядит следующим образом:
<SalesOrder>
<OrderHeader>
<BillTo>
<EntityID>1234</EntityID>
</BillTo>
</OrderHeader>
<LineItemList>
<OrderLineComment>
<LineItemID>1</LineItemID>
</OrderLineComment>
<LineItem>
...
</LineItem>
<LineItem>
...
</LineItem>
<LineItem>
...
</LineItem>
...
</LineItemList>
</SalesOrder>
У меня есть проект C #, который может выводить этот тип файла с помощью XmlSerializer, за исключением этой части:
<LineItemList>
<OrderLineComment>
<LineItemID>1</LineItemID>
</OrderLineComment>
Раздел LineItemList - это просто список LineItems, но в начале LineItemList находится этот другой элемент OrderLineComment.
Если я представляю это как массив LineItems, то он выглядит так же, за исключением того, что отсутствует OrderLineComment. Если я представлю это как новый объект LineItemList, содержащий OrderLineComment и массив LineItems, я получу это:
<LineItemList>
<OrderLineComment>
<LineItemID>1</LineItemID>
</OrderLineComment>
<LineItems>
<LineItem>
...
</LineItem>
...
</LineItems>
Имеет то, что я хочу, за исключением того, что он оборачивает все LineItems тегом <LineItems>
, что мне тоже не нужно.
Так что мне интересно:
- Есть ли способ сделать это через XmlSerializer? Если да, то как?
- Если его нет, и мне нужно переписать код, чтобы использовать что-то отличное от XmlSerializer, какой лучший способ сделать это и почему?
Заранее спасибо.