簡體   English   中英

WP8創建xml文件C#

[英]WP8 create xml file c#

我正在嘗試創建如下的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);

但是沒有得到正確的文件。 我還想在Items節點中添加新Item 收到新商品時如何追加?

  1. 您的XML無效,已發布。 它應該具有單個根元素才能成為有效的XML。
  2. 您的代碼添加新元素的方式是錯誤的。 它將添加兩個節點,而不是一個:一個空的xml元素節點和一個文本節點。

您可以嘗試這種方式來生成正確格式的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);

以及稍后在Items元素中添加新Item

//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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM