在NEW Line创建XML元素

时间:2011-01-07 22:20:24

标签: php xml dom

我有一个以下的xml文件。

<question id="1">2011-01-07 23:59:38</question>
<question id="2">2011-01-08 0:01:44</question>
<question id="3"></question>

我正在添加新的问题元素。但是它一直在这里添加:

<question id="1">2011-01-07 23:59:38</question>
<question id="2">2011-01-08 0:01:44</question>
<question id="3"></question><question id="4"></question>

而不是那样,我希望将新元素添加到这样的新行:

<question id="1">2011-01-07 23:59:38</question>
<question id="2">2011-01-08 0:01:44</question>
<question id="3"></question>
<question id="4"></question>

我怎样才能做到这一点? 这是我在代码中添加新元素的部分:

$question2 = $xpath->query("/question[position()=last()]->value(0)");

$id2 = $question2->getAttribute('id');
$item2 = $dom->createElement("question");
$question2->parentNode->insertBefore($item2, $question2 ->nextSibling);
$item2->setAttribute('id', $row['idquestions']); 

谢谢!

1 个答案:

答案 0 :(得分:0)

您必须首先插入包含换行符的新文本对象,然后在此之后插入新的元素对象。空格在XML中很重要(尽管许多/大多数使用的XML忽略它)。