[英]Select attribute value of parent element in Linq to XML of C#
我正在使用Linq到C#的XML。 我正在尝试使用Xpath找出父属性值。 当我针对XML运行该Xpath时,它可以工作,但是以某种方式在Linq中为XML提供了错误。
错误是:
表达式必须计算为节点集。
这是XML:
<items>
<item id="Carrier_ProductBase_Data_3_0_0_0" description="Carrier ProductBase Data (3.0.0.0)" versionDate="2006-12-01">
<keys>
<key name="versionID" value="Carrier_ProductBaseData_00_10"/>
<key name="family" value="DCTTemplates"/>
<key name="lob" value="CarrierAdmin"/>
<key name="state" value="Admin"/>
<key name="version" value="3.0.0.0"/>
<key name="effectiveDateNew" value="2006-12-01"/>
<key name="effectiveDateRenewal" value="2006-12-01"/>
<key name="masterID" value="DuckCreekTech_Master_US_00_20"/>
<key name="productCode" value="Data"/>
</keys>
</item> </items>
`XDocument xdoc = XDocument.Parse(this.DCTResponseXML);
var s = xdoc.XPathSelectElement("//*[@name='productCode'][@value='Data']/../../").Attribute("id").Value;`
xpath不能包含单个斜杠,而您要向上一级。 它应该是
var xpath = @"//*[@name='productCode'][@value='Data']//..//..";
var s = xdoc.XPathSelectElement(xpath). ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.