从PHP中的XML中获取<p>标记的值

时间:2016-02-09 10:34:39

标签: php xml

我有一个XML,我想在PHP中检索<p>标签内的值。我怎么做?我正在尝试getElementbyIdgetAttribute,但我无法获取数据。

$xmlDoc = new DOMDocument();$path_to_dir = "/var/www/html/Dalai/Annotation/0001.xml";
$xmlDoc->load($path_to_dir);$elements1 = $xmlDoc->getElementsByTagName('text');
foreach($elements1 as $node)
{
    foreach($node->childNodes as $child) 
    {
       if($child->nodeName=='p')
       {
        $path=$child->getAttribute();
        echo $path;
       }
    }
}

2 个答案:

答案 0 :(得分:0)

我认为在这一行中$path=$child->getAttribute(); getAttribute应该将一个字符串作为参数,然后返回一个字符串。

答案 1 :(得分:0)

假设 <p> 中的值,您的意思是foo中的<p>foo</p>等文字内容,那么您可以通过访问它textContentnodeValue *:

$path = $child->textContent;
//or $path = $child->nodeValue;
echo $path;

*)任何人都会这样做,因为在这种情况下它将在DOMElement上被调用。有关textContentnodeValue之间更微妙的差异,请参阅:PHP DOM textContent vs nodeValue?