C# 使用xDocument解析嵌套XML

C# 使用xDocument解析嵌套XML,c#,linq-to-xml,C#,Linq To Xml,我有一个这种结构的XML格式(现实世界中的示例非常长且复杂,但这应该说明这一点): 比尔·史密斯 供试品 某个日期 某个日期 比尔·史密斯 供试品 某个日期 某个日期 我写了一个简单的查询来删除每个帖子。我可以很好地理解作者和主题,但我不知道如何深入到日期部分来提取已发表的部分 谢谢您可以使用以下LINQ获取第一个“已发布”元素 您可以将任何表达式作为“后代”方法的参数。 如果将xml作为字符串,则可以使用以下命令将其读入XDocument XDocument.Parse(); 请记住检查

我有一个这种结构的XML格式(现实世界中的示例非常长且复杂,但这应该说明这一点):


比尔·史密斯
供试品
某个日期
某个日期
比尔·史密斯
供试品
某个日期
某个日期
我写了一个简单的查询来删除每个帖子。我可以很好地理解作者和主题,但我不知道如何深入到日期部分来提取已发表的部分


谢谢

您可以使用以下LINQ获取第一个“已发布”元素

您可以将任何表达式作为“后代”方法的参数。 如果将xml作为字符串,则可以使用以下命令将其读入
XDocument

XDocument.Parse();

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

谢谢你,詹姆斯,最后我自己也弄明白了。起初我不知道可以像这样链接.subjections()。@MartinAlderson如果您还没有注意到,如果路径上没有返回的元素,“first()”将抛出一个错误,那么最好使用“FirstOrDefault()”。
    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;
XDocument.Parse();