如何使用 linq2sql 获取包含任何匹配内容(不包括任何嵌套元素)的节点。
换句话说,我有一个 XElement 包含
<div>
<div>
<p>
The Content
</p>
<p>
Some other content
</p>
</div>
</div>
我想获得第一个 <p> 元素,因为它的内容在 Trimmed 时正是“内容”
如何使用 linq2sql 获取包含任何匹配内容(不包括任何嵌套元素)的节点。
换句话说,我有一个 XElement 包含
<div>
<div>
<p>
The Content
</p>
<p>
Some other content
</p>
</div>
</div>
我想获得第一个 <p> 元素,因为它的内容在 Trimmed 时正是“内容”
对于非常大的 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;
}
}
}
}