0

Linq-to-sqlを使用してHTMLを解析しています。現在、特定の段落タグを取得するために、次のコードを使用しています。

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

ただし、解析しているサイトの1つに、後ろにタグが付いた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 に答える