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>

上記のコードは、nodeValue が空の question というノードを検索しています。それは完全に機能します。ただし、現在のノードの属性値を取得する方法がわかりません。たとえば、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

試しましたDOMElement::getAttributeか?

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

XML ファイルの抽出サンプルを提供する必要があると思います。そうすれば、データが何であり、そのデータで何をしたいのかをより簡単に見つけることができます。

ところで、 DOM の代わりにSimpleXMLを使ってみたことはありますか?はるかに使いやすいと思います。

于 2010-12-28T12:38:21.857 に答える