C# HTML敏捷性-找到正确的节点
我知道有很多HTML敏捷性问题,但我找不到解决问题的方法 我从加载的HTML页面中获得以下代码片段:C# HTML敏捷性-找到正确的节点,c#,xpath,windows-phone-8,html-agility-pack,C#,Xpath,Windows Phone 8,Html Agility Pack,我知道有很多HTML敏捷性问题,但我找不到解决问题的方法 我从加载的HTML页面中获得以下代码片段: <div id="packageInfo" > <div id="package_text" class="texts">Packages <span id="numberOfPackages">1</span> </div> <div class="texts" style="width: 200px;"> <
<div id="packageInfo" >
<div id="package_text" class="texts">Packages
<span id="numberOfPackages">1</span>
</div>
<div class="texts" style="width: 200px;"> <-- THIS IS THE NODE I WANT TO FETCH
Productnumber: 21036
<br />
Width:29cm
<br />
Height:13cm
<br />
Length:212cm
<br />
Weight:37,5kg
<br />
Number: 1<br />
</div>
</div>
但是这个返回null
但是,以下方法有效(但不能满足我的需要):
我承认我没有正确理解XPATH
我在HTML中有以下几个条目:
<div class="texts">
所以我选择正确的一个是很重要的
我还使用StreamPosition og LineNumber四处搜索了一个解决方案,但运气不好。使用您提供的HTML代码,
是
的第二个孩子
因此,类似这样(未经测试)的方法可能会起作用:
//div[@id='packageInfo']/div[2]
不在
内,而是在
旁边
您可以尝试以下XPath:
.//div[@id='package_text']/following-sibling::div[@class='texts']
+我不知道HtmlAgilityPack支持
后面的同级
HtmlNode temp = htmlDocument.DocumentNode.SelectSingleNode(".//div[@id='package_text']");
string test = temp.SelectSingleNode("//span[@id='numberOfPackages']").InnerText.Trim();
<div class="texts">
.//div[@id='package_text']/following-sibling::div[@class='texts']