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