[英]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.