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来获得下图()所示的部分,但不打算这样做。有什么问题吗 //TABLE/TBODY/TR[@class='dg-forums-level2 dg-align-center']/TD[2]/DIV[1]/A[1] 已更新 <?php $BASE_PATH = "../src/"; include_once($BASE_PATH . "classes/forumdb.php"); include_once($BASE_PATH . "classes/curl

我正在使用下面的xpath来获得下图()所示的部分,但不打算这样做。有什么问题吗

//TABLE/TBODY/TR[@class='dg-forums-level2 dg-align-center']/TD[2]/DIV[1]/A[1]

已更新

<?php
$BASE_PATH = "../src/";

include_once($BASE_PATH  . "classes/forumdb.php");
include_once($BASE_PATH  . "classes/curl.php");

$curl = new curl();
$html = $curl->get_web_page('http://advrider.com/forums/');

$doc = new DOMDocument();
$doc->loadHTML($html);

$xpath = new DOMXpath($doc);

//$elements = $xpath->query("//TABLE[@class='tborder']/TBODY/TR[@class='']/TD[2]/DIV[1]/A[1]/STRONG[1]");

$elements = $xpath->query("//*[@id='f3']"); //works
//$elements = $xpath->query("//TABLE/TBODY/TR");


//TD[@id='f74']/DIV[1]/A[1]

if (!is_null($elements))
{

  foreach ($elements as $element)
  {
    echo "f<br/>[". $element->nodeName. "]";
    $nodes = $element->childNodes;
    foreach ($nodes as $node)
    {
      echo $node->nodeValue. "\n";
    }
  }
}

?>

使用它并尽量避免像TD[2]/DIV[1]/A[1]这样的地方。
在DOM树中,带类的选择器比带数字位置的选择器不那么脆弱

我希望这会有帮助

使用它并尽量避免像TD[2]/DIV[1]/A[1]这样的地方。 在DOM树中,带类的选择器比带数字位置的选择器不那么脆弱


我希望这将有助于绘制章节详细信息文本或url,请使用以下内容

//h3[@class="nodeTitle"]/a[@data-description]/text() #To grap text
//h3[@class="nodeTitle"]/a[@data-description]/@href #To grap url

要绘制章节详细信息文本或url,请使用以下内容:

//h3[@class="nodeTitle"]/a[@data-description]/text() #To grap text
//h3[@class="nodeTitle"]/a[@data-description]/@href #To grap url
我会用这个:

//*[@class="nodeTitle"]/a

我会用这个:

//*[@class="nodeTitle"]/a

您可以尝试以下xpath:

//ol[@class='nodeList']/*[@class='nodeTitle']///a


它将找到页面中的所有部分。

您可以尝试以下xpath:

//ol[@class='nodeList']/*[@class='nodeTitle']///a


它将找到页面中的所有部分。

您的XPath很好,在FF11和FireFinder上对我很有效。您使用哪个工具来检索元素?你看到什么错误了吗?如果你在使用IE,你应该用小写字母写标记名。@slanec-我在使用php,我现在就开始编写代码,如果你能看一下的话,我会很高兴的。@slanec-还有一件事,我是如何签入ff11的?另外,当使用XPath时,还有非常好的链接。您的XPath很好,在FF11和FireFinder上对我很有效。您使用哪个工具来检索元素?你看到什么错误了吗?如果你在使用IE,你应该用小写字母写标记名。@slanec-我在使用php,我现在就开始编写代码,如果你能看一下的话,我会很高兴的。@slanec-还有一件事,我是如何签入ff11的?当使用XPath时,还有非常好的链接