0
   $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>

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

4

2 回答 2

0

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

顺便说一句,您是否尝试过使用SimpleXML而不是 DOM - 我认为它更容易使用。

于 2010-12-28T12:38:21.857 回答
0

你试过DOMElement::getAttribute吗?

$id = $question->getAttribute('id');
于 2010-12-28T13:18:12.353 回答