有人可以告诉我如何使用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>
答案 0 :(得分:0)
你可以这样做:
var xmlDocument = XDocument.Load("Xml filePath");
var books = xmlDocument
.Descendants("Specification")
.Where(x => ((string) x.Element("value")).Contains("John"))
.Select(x => x.Parent.Parent);
但请记住,不应该要求代码。首先,您应该做一些研究,阅读文档和教程,花点心思,如果你遇到问题,你应该来找问题。