Html Xpath选择所有子节点
我需要从此html中选择所有子节点(选项标记):Html Xpath选择所有子节点,html,xpath,html-agility-pack,Html,Xpath,Html Agility Pack,我需要从此html中选择所有子节点(选项标记): <select name="akt-miest" id="onoffaci"> <option value="a_0">Všetci</option> <option value="a_1">Iba prihlásení</option> <option value="a_5" selected="selected">Teraz na Pokeci</option>
<select name="akt-miest" id="onoffaci">
<option value="a_0">Všetci</option>
<option value="a_1">Iba prihlásení</option>
<option value="a_5" selected="selected">Teraz na Pokeci</option>
<optgroup label="Hlavné miestnosti">
<option value="m_13"> Bez záväzkov</option>
<option value="m_9"> Do pohody</option>
<option value="m_39"> Dámsky klub</option>
</optgroup>
但我得到一个错误,xpath有无效的标记。什么是坏的
例如:
<option value="**a_0**">**Všetci**</option>
**Všetci**
我需要获取值(a_0)和文本Všetci
因此,我尝试首先访问“按Id选择”:
我试试这个:
var selectNode = htmlDoc.GetElementbyId("onoffaci");
var nodes = selectNode.SelectNodes("option::*");
var selectNode = htmlDoc.GetElementbyId("onoffaci");
var nodes = selectNode.SelectNodes("option::*");
但我得到的错误是xpath无效
代币什么是坏的
明显的问题是使用
选项::*
选项::*
表示:选项轴中的所有节点。但是,没有“XPath中的选项轴”
您想要的:
option
//select[@id='onoffaci']/option/@value
|
//select[@id='onoffaci']/option/text()
这将选择当前节点的子元素的所有选项
您可以在单个XPath表达式中编写它,并省略getElementbyId()
调用:
//select[@id='onoffaci']/option
For example:
<option value="**a_0**">**Všetci**</option>
I need get value (a_0) and text Všetci
这将选择XML文档中所有select
元素的子元素value
的所有attributes,这些元素具有id
属性和值'onoffaci'
以及所有option
元素的所有文本节点,这些元素是所有select
元素的子元素在XML文档中,具有id
属性且值为'onoffaci'
您需要迭代结果以获得每个选项元素的@值和文本()
或:
在这里,您可以观察到您感兴趣的选项
元素是其父元素的第一个选项
子元素-现在,它只选择值
属性和所需选项
元素的文本节点。可能的dup:好问题,+1。关于这个问题的解释,请参阅我的答案,您可以使用几种不同的XPath表达式,并解释它们的含义。аПааааааааааааааааа。Спасибо. ззззззззззз。ЯСбббббббббббббббiб你刚才说“俄语不是我的淫秽语言”。抱歉嘲弄:)@Flack::)这正好证明了我说的话,不是吗?:)英雄联盟
//select[@id='onoffaci']/option[1]/@value
|
//select[@id='onoffaci']/option[1]/text()