使用Xpath和DOM获取属性内容(php)

时间:2010-12-28 12:32:15

标签: php dom xpath domxpath

   $dom->load('2.xml');  
    $xpath = new DOMXPath($dom); 

    $questions = $xpath->query("questions/question"); 
    foreach($questions as $question)  
        {
         if ($question->textContent == "")
            { 
            $question->nodeValue = "{$current_time}";
             break;
            }
        }

<questions>
<question id="1">a<question>
<question id="2"><question>
</questions>

上面的代码正在搜索一个名为question的节点,其nodeValue为空。它完美地运作。但是,我无法弄清楚如何获取当前节点的属性值。例如2是我想得到的值。

我想在此代码之后立即执行此操作:

$question->nodeValue = "{$current_time}";

这是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
 <questions>
  <question id="1"></question>
  <question id="2"></question>
  <question id="3"></question>
 </questions>

有人可以帮我解决这个问题吗?谢谢!

2 个答案:

答案 0 :(得分:0)

我认为您应该提供XML文件的示例摘录,以便我们可以更轻松地找出您的数据以及您想要使用它做什么。

顺便说一句,您是否尝试过使用SimpleXML代替DOM - 我认为使用起来要容易得多。

答案 1 :(得分:0)

您是否尝试过DOMElement::getAttribute

$id = $question->getAttribute('id');