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 运算符的列表

如果您需要进一步处理文本值(在这种情况下从 中删除 astriks 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 回答