簡體   English   中英

如何使用XmlReader讀取短標簽XML而不添加結束元素?

[英]How to use XmlReader to read a short tag XML without adding a closing element?

我的XML看起來像這樣(從文件中讀取):

<root>
  <date month="November" year="2001"/>
</root>

我正在嘗試在date元素中編輯year屬性值,假設是“ 3000”。 我正在使用XmlDocument和XmlReader類來編輯此屬性,如下所示:

XmlDocument xml = new XmlDocument();            
using (XmlReader reader = XmlReader.Create(xmlPath))
      xml.Load(reader);

問題是,XmlReader讀取XML的方式如下:

<root>
      <date month="November" year="2001"> </date>
</root>

意思是,它將close元素添加到date元素。 我稍后將使用Save方法保存編輯后的XML。

我需要最終的XML與短標記(例如原始XML)一起使用。 有沒有一種方法可以使用XmlReader而不添加結束元素?

如果XML文件不是很大,則可以使用XElement就地編輯它:

XElement xml = XElement.Load("test.xml");
var date = xml.Element("date");
date.Attribute("year").SetValue("3000");
xml.Save("test.xml");

試試這個解決您的問題。 我只需更新年份屬性,即可進行相應更改

    XmlDocument myXmlDocument = new XmlDocument();
        myXmlDocument.Load(Server.MapPath("~/Book.xml"));
        XmlNode node;
        node = myXmlDocument.DocumentElement;

        foreach (XmlNode node1 in node.ChildNodes)
        {
            if (node1.Name == "date")
            {
                node1.Attributes["year"].Value = "2005";
            }
        }
        myXmlDocument.Save(Server.MapPath("~/Book1.xml"));

暫無
暫無

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

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