0

我一直在使用 PHP DOM 来创建和保存一个 xml 文件(第三方 xml 文件)。到目前为止,我的结构是正确的,但是遇到了一个元素没有用结束标签结束的问题,即

<FX>
 <Stompbox ID="1">
  <Module ID="0" POS="0" BypassState="1"/>
 </Stompbox>
</FX>

应该看起来像这样 - 模块结束标记

<FX>
 <Stompbox ID="1">
  <Module ID="0" POS="0" BypassState="1"></Module>
 </Stompbox>
</FX>

这是代码

$xmlRoot = $domtree->appendChild($xmlRoot); 
    /* Add FX node */
$fx = $domtree->createElement("FX");
$fx = $xmlRoot->appendChild($fx);
    /* Add Stompbox node */
$fx->appendChild($stompbox = $domtree->createElement('Stompbox')); 

$attr_mod = new DOMAttr('ID', "1");
$stompbox->setAttributeNode($attr_mod);
$stompbox->appendChild($module = $domtree->createElement('Module'));

$attr_mod = new DOMAttr('ID', "0");
$module->setAttributeNode($attr_mod);
$attr_pos = new DOMAttr('POS', '0'); 
$module->setAttributeNode($attr_pos); 
$attr_bypass_state = new DOMAttr('BypassState', '1'); 
$module->setAttributeNode($attr_bypass_state);

谢谢你的帮助。

4

1 回答 1

2

元素已关闭。在 XML 中有两种关闭元素的方法:

通过自动关闭:

 <someelement someattr="somevalue" />

或者有一个空的内在:

 <someelement someattr="somevalue"></someelement>

它们在语义上是相同的,许多实现选择前者,因为它会产生更小、更可读的文件。

于 2012-11-05T17:03:10.270 回答