我正在尝试创建如下所示的xml文件
<IMEI>ABCD</IMEI>
<Manufacturer>Nokia</Manufacturer>
<Model>Lumia 525</Model>
<Items>
<Item>
<Name>Contact</Name>
<Size>
<Value>123</Value>
<Type>KB</Type>
</Size>
<MD5>78sd8f6sd6fsdf8sdbs5f78svbfsd576s</ MD5>
<Desc>Contact is added</ Desc >
</Item>
</Items>
我尝试过这样的事情
doc = new XDocument(new XDeclaration("1.0", "UTF-8", "yes"));
doc.Add(new XElement(("IMEI"), "ABCD"));
doc.Add(new XElement("Manufacturer"), "Nokia");
doc.Add(new XElement("Model"), "Lumia 525");
var contactsElement = new XElement("Item",
new XElement("Name", "Contact"),
new XElement("Size",
new XElement("Value", "123"),
new XElement("Type", "KB")),
new XElement("MD5", "78sd8f6sd6fsdf8sdbs5f78svbfsd576s"),
new XElement("Desc", "Contact File"));
var mainNode = new XElement("Items", new XElement(contactsElement));
doc.Root.Add(mainNode);
但没有得到正确的文件。我还想在Item
节点中附加新的Items
。当我拿到新物品时如何追加?
答案 0 :(得分:0)
您可以尝试这种方式生成格式正确的XML:
doc = new XDocument(new XDeclaration("1.0", "UTF-8", "yes"),
new XElement("Root"));
doc.Root.Add(new XElement("IMEI", "ABCD"));
doc.Root.Add(new XElement("Manufacturer", "Nokia"));
doc.Root.Add(new XElement("Model", "Lumia 525"));
var contactsElement = new XElement("Item",
new XElement("Name", "Contact"),
new XElement("Size",
new XElement("Value", "123"),
new XElement("Type", "KB")),
new XElement("MD5", "78sd8f6sd6fsdf8sdbs5f78svbfsd576s"),
new XElement("Desc", "Contact File"));
var mainNode = new XElement("Items", new XElement(contactsElement));
doc.Root.Add(mainNode);
稍后在Item
元素中添加新的Items
:
//get existing <Items> element
var items = doc.Root.Element("Items");
//add new <Item> to <Items>
items.Add(XElement.Parse(newContactsElement));
//then save the XDocument back replacing previously saved XML