Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Xpath选择所有子节点_Html_Xpath_Html Agility Pack - Fatal编程技术网

Html Xpath选择所有子节点

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>

我需要从此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>

<optgroup label="Hlavné miestnosti">

<option value="m_13">&nbsp;&nbsp;&nbsp;Bez záväzkov</option>
<option value="m_9">&nbsp;&nbsp;&nbsp;Do pohody</option>
<option value="m_39">&nbsp;&nbsp;&nbsp;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()