如何在PHP DomDocument中的子节点之前的父节点中插入文本

时间:2013-12-13 10:50:13

标签: php xml dom domdocument

我有这个XML:

<p>
     This is a test <xref>1</xref> in the XML <xref>2</xref> bla bla bla....
</p>

我想做的是在<xref>

之前添加字母“N”

为此,我尝试使用DOMNode::insertBefore,但没有成功。

前:

$refs = $paragraph->getElementsByTagName("xref");

foreach ($refs as $key=>$ref) {
   if ($key == 0) {
      $N = $dom_input->createTextNode("N");
      $citation->insertBefore($N);
   }
}

但是没有插入N文本节点。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我能够解决问题。我犯了一个错误,代码看起来应该是这样的:

if ($key == 0) {
    $squareBracket = $dom_input->createTextNode("[");
    $paragraph->insertBefore($squareBracket, $citation);
}