虽然有很多关于如何做到这一点的例子,但我似乎陷入困境,我找不到任何可以帮助我的东西。我想更新索引的值而不测试它以前的值。我知道这一定很容易,但我很难过。
我最初创建我的xml文档
XDocument master;
master = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement("ERoot",
new XElement("EHeader"),
new XElement("EData")));
master.Save(MasterXml);
然后添加索引节点
myIndex = 0;
XElement treename = XElement.Load(MasterXml);
XElement head = treename.Element("EHeader");
head.Add(new XElement("Index", myIndex));
treename.Save(MasterXml);
,XML文件看起来不错
<?xml version="1.0" encoding="UTF-8"?>
<ERoot>
<EHeader>
<Index>0</Index>
</EHeader>
<EData/>
</ERoot>
那么,如何在不考虑之前的值的情况下更新Index值。我看到的所有例子都是选择...... something.Value ==“0”......我可能不知道它是什么。我只是想覆盖和重视可能存在的东西。
由于
答案 0 :(得分:1)
尝试
master.Element("ERoot").Element("EHeader").Element("Index").SetValue(3);
或
master.Descendants("Index").First().SetValue(3);
P.S。你不能通过
获得元素EHeader
treename.Element("EHeader");
必须是
treename.Element("ERoot").Element("EHeader");