无法使用HTML Agility Pack for WP7找出XPath查询

时间:2012-07-12 11:28:56

标签: c# windows-phone-7 html-parsing html-agility-pack

您好我有这个特定的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

我怎样才能实现它?

2 个答案:

答案 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;