【发布时间】:2018-01-11 16:18:48
【问题描述】:
我尝试使用 LINQ to XML 查询一个 XML 文档。 XML 是 ..
<?xml version="1.0" encoding="UTF-8"?>
<response>
<operation>
<authentication>
<username>redacted</username>
<isauthenticated>true</<isauthenticated>>
</authentication>
<result>
<status>success</status>
<other-elements></<other-elements>
<other-elements></<other-elements>
<other-elements>
<other-sub-elements></other-sub-elements>
<other-sub-elements></other-sub-elements>
</<other-elements>
</result>
</operation>
</response>
我正在尝试读取节点<status> 的值以确定API 调用是否成功。我无法将获取 <status 节点值所需的 LINQ 语法放在一起。我想我可以使用 XPath 语法来获取值。
XDocument xml = XDocument.Parse(xmlResponse);
string returnValue = = xml.Descendants("result/status").Select(x => x.Name).ToString();
但是,我收到以下错误..
“/”字符,十六进制值 0x2F,不能包含在名称中。
【问题讨论】:
-
xml.Descendants("status).Where(n => n.Parent.LocalName = "result")或xml.Descendants("result").Elements("result")
标签: c# xml linq-to-xml