我想知道是否有一个健壮和优雅的方式使用linq2xml来查询深层次内的项目。例如:使用linq2xml深入查询单个项目
<?xml version="1.0" encoding="utf-8" ?>
<data>
<core id="">
<field1>some data</field1>
<field2>more data</field2>
<metadata>
<response>
<status code="0">Success</status>
<content>
<job>f1b5c3f8-e6b1-4ae4-905a-a7c5de3f13c6</job>
<id>id of the content</id>
</content>
</response>
</metadata>
</core>
</data>
与该XML我怎么查询的价值,而无需使用这样的事情:
var doc = XElement.Load("file.xml");
string id = (string)doc.Element("core")
.Element("metadata")
.Element("response")
.Element("content")
.Element("id");
我不喜欢上面的方法,因为它是很容易出错(抛出异常,如果在层次结构中缺少任何标签)并且老实说很难看。有没有更健壮和优雅的方法,也许使用linq的类似sql的语法?
哦,来吧!我不敢相信这很简单。现在我感到很蠢。谢谢想知道;-) – BrettRobi 2010-06-11 17:45:42