0

我正在使用 Linq-to-sql 解析 HTML。现在要获取特定的段落标签,我正在使用以下代码:

        var paragraphs = contentDiv.Parent.Parent.Parent.Parent.Parent.Elements("p").ToList();

但是,我正在解析的网站之一有 P 标签,后面有标签。所以标记就像:

<p>...</p>
<ul><li>...</li></ul>
<p>...</p>
<ul><li>...</li></ul>
<p>...</p>
<ul><li>...</li></ul>
<p>...</p>
<ul><li>...</li></ul>

我需要获取所有p标签内和所有ul标签内的所有文本,但我需要内容按照它在 HTML 中出现的顺序。基本上我想要类似的东西:

        var paragraphs = contentDiv.Parent.Parent.Parent.Parent.Parent.Elements("p" || "ul").ToList();

我该怎么做呢?

不,这些 P 和 UL 标记本身并没有分开,所以我不能只获取该父 XElement 中的所有内容。

4

1 回答 1

2

听起来像你想要的

contentDiv.Parent.Parent.Parent.Parent.Parent.Elements()
          .Where(x => x.Name.LocalName == "p" || x.Name.LocalName == "ul")
          .ToList();
于 2012-10-02T17:05:41.070 回答