用xDocument解析嵌套XML

本文关键字:嵌套 XML xDocument | 更新日期: 2023-09-27 18:01:24

我有这个结构的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>

我写了一个简单的查询来取出每个帖子。我可以很好地获取作者和主题,但我不知道如何深入到日期部分以提取出版部分。

谢谢

用xDocument解析嵌套XML

您可以使用下面的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();

请记得检查空值!!: -)

相关文章: