1

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

换句话说,我有一个 XElement 包含

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

我想获得第一个 <p> 元素,因为它的内容在 Trimmed 时正是“内容”

4

1 回答 1

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;
            }
        }
    }
}
于 2012-05-06T03:53:42.897 回答