0

以下对我有用:

Xdoc.Element("session")
    .Element("immediate")
    .Element("pivot")
    .Element("axes")
    .Element("axis")
    .Element("attribute")
    .Element("selection")
    .Attribute("value")
    .SetValue("New_Value");

我真的需要从文档顶部开始吗?我知道我可以使用后代,但我不能引用该元素?

这样做的正确方法是什么?在 XPath 中,我会做类似的事情

/*/*/*/*etc
4

1 回答 1

0

你的意思是:

var el = XElement.Parse("<session><immediate><pivot><axes><attribute><selection a=\"b\"/></attribute></axes></pivot></immediate></session>");
var sel = el.XPathSelectElement("immediate/pivot/axes/attribute/selection");
sel.SetAttributeValue("value","new_value");

? 注意这需要:

using System.Xml.XPath;

请注意,如果这是由您可以使用的文档/所植根:

var doc = XDocument.Parse("<session><immediate><pivot><axes><attribute><selection a=\"b\"/></attribute></axes></pivot></immediate></session>");
var sel = doc.XPathSelectElement("/session/immediate/pivot/axes/attribute/selection");

另一种方法是寻找.Descendants("selection"),但 xpath 通常更灵活。

于 2012-07-25T09:39:02.407 回答