您好我有这个特定的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>
问题是我需要 value2 和 value5
我怎样才能实现它?
答案 0 :(得分:0)
\\em | \\strong
应该做的伎俩。然后,您可以从每个节点检索文本值。这将在xml片段中找到所有em和strong标签。 这是一个list的xpath运算符。
如果你需要进一步处理文本值(在这种情况下从value5
删除astriks),那将在xpath查询的范围之外完成。
答案 1 :(得分: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;