如何在XElement中获取内容

时间:2012-05-06 01:01:37

标签: .net xml linq xml-parsing linq-to-xml

如何使用linq2sql获取包含任何匹配内容的节点,不包括任何嵌套元素。

换句话说,我有一个包含

的XElement
<div>
  <div>
    <p>
      The Content
    </p>
    <p> 
      Some other content
    </p>
  </div>
</div>

我想先得到它&lt; p&gt;基于以下事实的元素:Trimmed时的内容正是“内容”

1 个答案:

答案 0 :(得分:0)

对于非常大的XML文件,这可能会很慢,因此有用性取决于您的任务。

namespace ConsoleApplication9
{
    using System.Xml.Linq;
    using System.Linq;

    class Program
    {
        static void Main(string[] args)
        {
            XElement xx = XElement.Parse(@"<div>
  <div>
    <p>
      The Content
    </p>
    <p> 
      Some other content
    </p>
  </div>
</div>");
            XNode node = xx
                .DescendantNodesAndSelf()
                .FirstOrDefault(x => x.ToString().Trim() == "The Content");

            if (node != null)
            {
                XElement el = node.Parent;
            }
        }
    }
}