假设我有这个(简化):
<form id="myform">
<!-- some input fields -->
<input type="submit" value="proceed"/>
</form>
Run Code Online (Sandbox Code Playgroud)
然后我可以通过XPath选择提交按钮//form[@id='myform']/input[@type='submit'].大.
但是,我的模板可能会更改,我希望在提交按钮所在的深度上保持灵活性.它可能放在一个表中,如下所示:
<form id="myform">
<!-- some input fields -->
<table><tr><td>
<input type="submit" value="proceed"/>
</td></tr></table>
</form>
Run Code Online (Sandbox Code Playgroud)
我知道我可以选择孙子的元素,但我不能选择任何深度的盛大盛大的孩子们.例如:
//form[@id='myform']/*/input[@type='submit'] 只选择大孩子,没有更深入的.//form[@id='myform']/*/*/input[@type='submit'] 只选择曾祖母,没有更深或更少的深度.//form[@id='myform']/**/input[@type='submit'] 无效.那么,如何在不使用元素ID的情况下可靠地选择此提交按钮?
nwe*_*hof 141
你快到了.只需使用:
//form[@id='myform']//input[@type='submit']
Run Code Online (Sandbox Code Playgroud)
所述//快捷方式也可以在表达式中.
s k*_*s k 13
如果您正在使用XmlDocument和XmlNode.
说:
XmlNode f = root.SelectSingleNode("//form[@id='myform']");
Run Code Online (Sandbox Code Playgroud)
使用:
XmlNode s = f.SelectSingleNode(".//input[@type='submit']");
Run Code Online (Sandbox Code Playgroud)
这取决于您使用的工具.但是.//将从参考节点中选择任何子节点,任何深度.
小智 8
//form/descendant::input[@type='submit']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98522 次 |
| 最近记录: |