有人可以告诉我如何使用 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);
但请记住,您不应该要求代码。首先,你应该做一些研究,阅读文档和教程,花一些精力,然后如果你在尝试中遇到问题,你应该来问那些具体的问题。