给定一个XElement,如何在给定XPath的情况下检索对另一个相对XElement/Xattribute的引用?

给定一个XElement,如何在给定XPath的情况下检索对另一个相对XElement/Xattribute的引用?

问题描述:

考虑下面的XML:给定一个XElement,如何在给定XPath的情况下检索对另一个相对XElement/Xattribute的引用?

<SomeXML> 
    <Element1> 
     <Element2 Attribute3="Value4" /> 
    </Element1 
</SomeXML> 

...和的XElement参考 'SomeElement' 和一个XPath '部件1 /元素2/@ Attribute3'

如何检索参考Attribute3如此我可以改变它的价值(使用Xpath)?

XPath是一个检索设置,因此是我唯一的方法来定位有问题的节点。

添加using System.Xml.XPath到你需要做到这一点的代码文件。

然后你可以使用这样的代码: -

var attrib3 = someElement.XPathEvaluate("Element1/Element2/@Attribute3") as XAttribute; 
if (attrib3 != null) 
    attrib3.Value = "new value"; 
+0

今天你是我的个人英雄:D优秀的东西 – 2010-05-18 14:10:05

您的XElement使用System.Xml.XPath

和扩展方法XPathSelectElement

+0

也是一个伟大的答案。这只是一个耻辱,我不能主动分裂点。 – 2010-05-18 14:10:31