0

こんにちは、私はこの特定の HTML コードを持っていますが、この特定の HTML ブロックの正しい XPath が見つからないので、解析できます

<aside id="id1">
<dl class="class1a class1b">
    <dd>value1</dd>
    <dt><em>**value2**</em> value3</dt>
</dl>
<dl class="class2a class2b">
    <dd>value4</dd>
    <dt class="class3">
        <strong>**value5**<span>value6</span></strong>
        </dt>
    </dl>
 </aside>

問題は、 value2value5が必要だということです

どうすれば達成できますか?

4

2 に答える 2

0
\\em | \\strong

トリックを行う必要があります。その後、各ノードからテキスト値を取得できます。これにより、xml フラグメント内のすべての em および strong タグが検出されます。ここに xpath 演算子のリストがあります。

テキスト値をさらに処理する必要がある場合 (この場合は からアスタリスクを削除しvalue5ます。これは xpath クエリの範囲外で行われます。

于 2012-07-12T11:36:44.010 に答える
0
var value2 = doc.DocumentNode
                .SelectSingleNode("//dl[@class='class1a class1b']/dt/em")
                .InnerText;
var strong = doc
             .DocumentNode
             .SelectSingleNode("//dl[@class='class2a class2b']/dt[@class='class3']/strong");
strong.RemoveChild( strong.LastChild );
var value5 = strong.InnerText;
于 2012-07-12T12:17:06.457 に答える