我正在尝试从某些XML获取XML值,这是我的XML
<SearchResult>
<Entity id="192418" defaultrole="TEMP_JOB_R">
<Property name="JOB_GEN">
<Attribute name="REFERENCE">192418</Attribute>
</Property>
</Entity>
</SearchResult>
我试过这个
var reference = (
from el in result.XPathSelectElements("Entity")
select el.Attributes("REFERENCE").Select(x => x.Value).SafeParse<long>().FirstOrDefault()
);
但是引用总是等于0 如何选择参考属性并仅回退其值?
答案 0 :(得分:3)
如果您对使用XPath表达式的解决方案感兴趣,以下XPath将选择<Attribute>
属性等于name
的{{1}}元素:
REFERENCE
或者如果您只期望单一结果:
var reference = (from el in result.XPathSelectElements("//Entity/Property/Attribute[@name='REFERENCE']")
select (long)el
);
附注:如上所示,你可以cast XElement
to long
。