Iva*_*ono 3 html c# xpath html-agility-pack
我需要获取一个带有 html 文档的嵌套 div,例如:
<div id="maindiv>
<div id='firstdiv'>
</div>
<div id="otherid">
<div id="anotherdiv"><div id="divid"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要获取 的内容anotherdiv。我不知道maindiv主文档中的anotherdiv深度以及maindiv.
目前我正在做:
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(content);
var main = doc.GetElementbyId("maindiv").InnerHtml;
doc.LoadHtml(main);
var another = doc.GetElementbyId("anotherdiv");
Run Code Online (Sandbox Code Playgroud)
这很好用。但是有没有更好的方法使用 XPath 来获取所需的 div 呢?
小智 5
如果你想使用 x 路径提取子元素,你可以使用“/”,但你也可以通过“/*/”提取孙元素,或者如果你不知道元素有多深,则使用“//”。
通过 id 使用提取元素[@id='<id_you_are_looking_for'](与按类提取的方式相同)
所以如果你不知道你的 div 有多“深”,就使用
//div[@id='anotherdiv']
Run Code Online (Sandbox Code Playgroud)
甚至
//*[@id='anotherdiv']
Run Code Online (Sandbox Code Playgroud)
提取具有选定 id 的任何元素。
id 应该是唯一的,所以它应该足够了,但如果你想确保另一个 div 位于主 div 中,你可以使用
//div[@id='maindiv']//div[@id='anotherdiv]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1472 次 |
| 最近记录: |