如何根据兄弟节点的值获取XML节点?


谦成
2025-03-11 06:29:20 (10天前)
  1. 我正在开发一个.Net应用程序,我需要根据其兄弟节点的值来从XML文件中获取值.Eg:在XML中我想要获取PagesPriceamp;中的值。 ...

2 条回复
  1. 0# VIP | 2019-08-31 10-32



    您可以搜索所有父元素,而不是搜索兄弟元素



    使用条件子句过滤那些具有特定值的人

    <br> </code><br> 儿童元素。然后,对于所有匹配,返回三个所需子元素的值。<br> </p><br> <P><br> 这最容易使用<br> <a href="https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-overview" rel="nofollow noreferrer"><br> LINQ to XML<br> </A><br> :<br> </p><br> <pre><br> <code><br> var root = XElement.Parse(xmlString);</p> <p>var title = “Hansel and Gretel”;</p> <p>var query = root<br> .Elements(“Book”)<br> .Where(e => (string)e.Element(“Title”) == title)<br> .Select(e => new<br> {<br> Pages = (int)e.Element(“Pages”),<br> Price = (decimal)e.Element(“Price”),<br> Author = (string)e.Element(“Author”),<br> });</p> <p>var results = query.ToList();</p> <pre><code></code> </code></pre><p> </pre><br> <P><br> 但是,如果您更喜欢使用<br> <a href =“<a href="https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/how-to-query-linq-to-xml-using-xpath"rel">https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/how-to-query-linq-to-xml-using-xpath"rel</a> =” nofollow noreferrer“><br> XPath的<br> </A><br> 查询,你可以这样做:<br> </p><br> <pre><br> <code><br> var query = root<br> .XPathSelectElements(string.Format(“/Book[Title=’{0}’]”, title))<br> .Select(e => new<br> {<br> Pages = (int)e.Element(“Pages”),<br> Price = (decimal)e.Element(“Price”),<br> Author = (string)e.Element(“Author”),<br> });</p> <pre><code></code> </code></pre><p> </pre><br> <P><br> 演示小提琴<br> <a href="https://dotnetfiddle.net/3QhNwb" rel="nofollow noreferrer"><br> 这里<br> </A><br> 。<br> </p><br></DIV> </p>

登录 后才能参与评论