【发布时间】:2015-08-05 18:59:44
【问题描述】:
我有以下 XML
<ABC xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://ns.hr-xml.org/2007-04-15">
<ReceiptId>
<IdValue>123</IdValue>
</ReceiptId>
<ClientOrderId>
<IdValue>345</IdValue>
</ClientOrderId>
<AccessPoint>
<Description>My Description</Description>
</AccessPoint>
<ABCStatus>
<Status>Error</Status>
<Details>ERRORS:
Talent is already in an active process for this opening.
</Details>
<StatusDate>2015-08-05</StatusDate>
</ABCStatus>
</ABC>
我正在尝试检索嵌套在 IdValue 和 ClientOrderId 中的元素值 345
我在 C# 中使用 Linq to xml 代码来检索值,但没有运气
XDocument XMLResults = XDocument.Parse(sResult);
var sClientOrderID =
from nodeAElem in XMLResults.Root.Elements("ABC")
from nodeA1Elem in nodeAElem.Elements("ClientOrderId")
from nodeA11Elem in nodeA1Elem.Elements("IdValue")
select nodeA11Elem.Value;
还需要检索上述xml的错误状态元素值。
非常感谢任何帮助
【问题讨论】:
-
您的 XML 文档正在使用命名空间,您必须在查询中使用它才能使其正常工作。