Я бы предложил использовать классы в System.Xml.Linq.dll , которые содержат API-интерфейс XML DOM, который позволяет легко создавать XML-структуры благодаря способу проектирования конструкторов. Попытка создать структуру XML с использованием классов System.Xml очень болезненна, поскольку вы должны создавать их отдельно, а затем отдельно добавлять их в документ.
Вот пример из XLinq против System.Xml для создания DOM с нуля. Ваши глаза кровоточат, когда вы видите пример System.Xml.
Вот краткий пример того, как вы использовали бы XLinq для создания части вашего документа.
var xml = new XElement("Orders",
new XElement("Order",
new XAttribute("OrderNumber", 12345),
new XElement("ItemNumber", "01234567"),
new XElement("QTY", 10),
new XElement("Warehouse", "PA019")
)
);
СОВЕТ Хотя это немного неортодоксально (хотя и не хуже, чем некоторые из популярных в последнее время языковых палачей), я иногда использовал функцию псевдонимов типов в C #, чтобы минимизировать код еще дальше: *
using XE = System.Xml.Linq.XElement;
using XA = System.Xml.Linq.XAttribute;
...
var xml = new XE("Orders",
new XE("Order",
new XA("OrderNumber", 12345),
new XA("ItemNumber", "01234567"),
new XA("QTY", 10),
new XA("Warehouse", "PA019")
)
);