C# Can';使用WP7的HTML敏捷包无法理解XPath查询
嗨,我有这个特定的HTML代码,我找不到这个特定HTML块的正确XPath,所以我可以解析它C# Can';使用WP7的HTML敏捷包无法理解XPath查询,c#,windows-phone-7,html-parsing,html-agility-pack,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">
<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>
价值1
**价值2**3
价值4
**value5**value6
问题是我需要value2和value5
我怎样才能做到呢
\\em | \\strong
我们应该做到这一点。然后可以从每个节点检索文本值。这将在xml片段中找到所有em和strong标记。
下面是一组xpath运算符
如果需要进一步处理文本值(在本例中,从
value5
中删除astrik,这将在xpath查询的范围之外完成。星号是SO的粗体。我只需要检索这2个特定值。不是所有的em和strong。这2个值在我的HTMLI中只出现一次。我在这两个值上都得到了一个空引用异常。我忘了提及,我将IX在我的问题上,Case1和Case2是2个值的一部分,中间有一个空格。@ Alxand Sertavavi用你的新值替换<代码> Case1<代码> >代码> Case2。它应该起作用。谢谢。工作得像个符咒。
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;