需要帮助才能使用 LINQ 查询复杂 XML 结构的复杂 XML



有人可以告诉我如何使用 LINQ 查询下面的 xml 来获取 John 写的书的名称吗.我是 linq 的新手,如果你能在这方面帮助我,那就太好了。我试图编写一些查询,但没有用。

<Library>
<Name>Central Library</Name>
<Address>
<Place>West Fort</Place>
<Pin>0088</Pin>
</Address>
<Books>
<Book>
  <Name>Book1</Name>
   <Specifications>
     <Specification>
      <Name>status</Name>
      <value><![CDATA[available]]></value>
     </Specification>
     <Specification>
      <Name>Author</Name>
      <value><![CDATA[John]]></value>
     </Specification>
  </Specifications>
</Book>
<Book>
 <Name>Book2</Name>
  <Specifications>
   <Specification>
    <Name>status</Name>
    <value><![CDATA[Not available]]></value>
   </Specification>
   <Specification>
    <Name>Author</Name>
   <value><![CDATA[Smith]]></value>
   </Specification>
</Specifications>
</Book>
<Book>
<Name>Book3</Name>
 <Specifications>
  <Specification>
   <Name>status</Name>
   <value><![CDATA[Not available]]></value>
  </Specification>
  <Specification>
   <Name>Author</Name>
   <value><![CDATA[John]]></value>
 </Specification>
</Specifications>
</Book>
</Books>
</Library>
你可以

这样做:

var xmlDocument = XDocument.Load("Xml filePath");
var books = xmlDocument
            .Descendants("Specification")
            .Where(x => ((string) x.Element("value")).Contains("John"))
            .Select(x => x.Parent.Parent);

但请记住,您不应该要求代码。首先,你应该做一些研究,阅读文档和教程,花一些精力,然后如果你在尝试中遇到问题,你应该来问那些具体的问题。

相关内容

  • 没有找到相关文章

最新更新