从XML中提取精确的值
本文关键字:提取 XML | 更新日期: 2023-09-27 18:25:28
我正试图从一些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如何选择引用属性并仅收回其值?
如果您对使用XPath表达式的解决方案感兴趣,以下XPath将选择name
属性等于REFERENCE
:的<Attribute>
元素
var reference = (from el in result.XPathSelectElements("//Entity/Property/Attribute[@name='REFERENCE']")
select (long)el
);
或者,如果你只期望一个结果:
var reference = (long)result.XPathSelectElement("//Entity/Property/Attribute[@name='REFERENCE']");
旁注:您可以将XElement
强制转换为long
,如上所示。