所以我有这个简单的XML文本:
<errors xmlns="http://schemas.google.com/g/2005">
<error>
<domain>GData</domain>
<code>InvalidRequestUriException</code>
<internalReason>You must specify at least one metric</internalReason>
</error>
</errors>提取internalReason元素的值的最简单方法是什么?
发布于 2009-08-17 16:33:06
查找后代时需要指定命名空间。例如:
var xml = XElement.Load("test.xml");
XNamespace ns = "http://schemas.google.com/g/2005";
var reason = xml.Descendants(ns + "internalReason").First().Value;或者:
var xml = XElement.Load("test.xml");
XNamespace ns = "http://schemas.google.com/g/2005";
var reason = xml.Elements(ns + "error").First()
.Elements(ns + "internalReason").First().Value;(我并不热衷于使用查询表达式,因为它们不能提供任何额外的价值。)
您可能还想拆分它并使用FirstOrDefault,这样您就可以检查您请求的元素是否存在。
https://stackoverflow.com/questions/1288853
复制相似问题