0

Agility pack を使用して Html を単一の文字列に解析するのを手伝ってくれる人はいますか?

次の形式に似たHtmlを解析しようとしていますが、

<blockquote>\n
    <p>Here is the first collection:<\/p>\n 
        <ol>\n 
            <li>List1<\/li>\n 
            <li>List2<\/li>\n 
            <li>List3<\/li>\n 
        <\/ol>\n 
    <p>Here is the second collection:<\/p>\n 
        <ol>\n 
            <li>List1<\/li>\n 
            <li>List2<\/li>\n 
        <\/ol>\n 
<\/blockquote>

次のメソッドを使用して、「p」と「li」と「blockquote」を取得しようとしました。ただし、メソッド .Descendants は「p」、「li」、および「blockquote」の個別のコレクションを作成しますが、個別の要素を順番に配置して単一の文字列に格納する必要があります。

 IEnumerable<HtmlNode> h3Tags = document.DocumentNode.Descendants("p"); foreach (var h3tag in h3Tags) {}

たとえば、「ここに最初のコレクションがあります: List1 List2 List3 ここに 2 番目のコレクション List1 List2 があります」という文字列ストアが必要です。

ありがとうございました!

4

1 に答える 1

2

blockquoteノードのInnerTextプロパティを使用します。これにより、期待される順序で文字列が返されるはずです。

次のようなことをします

var blockQuoteNode = document.DocumentNode.Descendants("blockquote").First(); // or do a document.DocumentNode.SelectSingleNode(//put the exact xpath value of the blockquote element here...)
var stringsYouNeed = blockQuoteNode.InnerText;
于 2012-08-09T09:06:38.153 に答える