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
XPath:排除子元素_Xpath - Fatal编程技术网

XPath:排除子元素

XPath:排除子元素,xpath,Xpath,我使用XPath获取内容。我需要抓取的是div中具有给定id的内容。在这个div里面还有另一个div,我不想删掉它 我使用以下XPath: /[@id='Main'][非(包含(div/@id,'orderform'))] 但使用这个XPath,我并不像我预期的那样从所有URL中提取,而是从那些URL中提取,这些URL中确实包含div id=“Main”,但里面没有div id=“orderform” 我应该使用什么XPath来替代整个div id=“Main”,但不包括div id=“orde

我使用XPath获取内容。我需要抓取的是
div
中具有给定
id
的内容。在这个
div
里面还有另一个
div
,我不想删掉它

我使用以下XPath:

/[@id='Main'][非(包含(div/@id,'orderform'))]

但使用这个XPath,我并不像我预期的那样从所有URL中提取,而是从那些URL中提取,这些URL中确实包含
div id=“Main”
,但里面没有
div id=“orderform”

我应该使用什么XPath来替代整个
div id=“Main”
,但不包括
div id=“orderform”
的内容

div
标记是一个子标记,您应该降低一级

//*[@id='Main']/*[not(div[@id="orderform"])]

发布html代码@宏杰李 编辑后的postit可以工作,但它会将每个html元素提取为特定实体,因此我得到的不是一个提取的列316列:)是否可以将所有内容都提取到同一列?@Chilly Bang您必须访问子标记然后对其进行筛选,我更新了答案,这是我能做的最好的了现在有16列:)
//*[@id='Main']/*[not(div[@id="orderform"])]