我有这种结构的XML格式(现实世界的例子非常漫长而复杂,但这应该说明一下):
<document> <post>
<author>Bill Smith</author>
<subject>Test Article</subject>
<dates>
<uploaded>some date</uploaded>
<published>some date</published>
</dates>
</post>
<post>
<author>Bill Smith</author>
<subject>Test Article</subject>
<dates>
<uploaded>some date</uploaded>
<published>some date</published>
</dates>
</post> </document>
我写了一个简单的查询来提取每个帖子。我可以得到作者和主题,但我不知道如何深入到日期部分拉出已发布的位。
由于
答案 0 :(得分:3)
您可以使用以下LINQ获取第一个“已发布”元素。
XDocument document = XDocument.Load(@"D:\XMLFile1.xml", LoadOptions.None);
XElement element = document
.Descendants("document")
.Descendants("post")
.Descendants("dates")
.Descendants("published")
.First();
string publishedDate = element.Value;
您可以将任何表达式作为参数提供给'Descendants'方法。
如果您将xml作为字符串,则可以使用以下内容将其读入XDocument
XDocument.Parse();
请记得检查空值!! : - )