php – SimpleXML添加带子项和属性的子项

我有一些 XML需要添加一个孩子.

使用SimpleXML,添加一个简单节点没有任何问题.

开头的XML看起来有点像这样:

<root>
    <item>
         <title>This is the title</title>
         <sort>2</sort>
    </item>
    <item>
         <title>This is another title</title>
         <sort>3</sort>
    </item>
</root>

我需要添加一个如下所示的节点:

<label id=1>
         <title type=normal>This is a label</title>
         <sort>1</sort>
    </label>

结果将是:

<root>
    <item>
         <title>This is the title</title>
         <sort>2</sort>
    </item>
    <item>
         <title>This is another title</title>
         <sort>3</sort>
    </item>
    <label id=1>
         <title type=normal>This is a label</title>
         <sort>1</sort>
    </label>
</root>

我可以使用以下方法添加一个简单的孩子:

$xml->root->addChild('label', 'This is a label');

我无法将属性和子项添加到此新添加的节点中.

因为在XSLT中进行排序,我并不担心追加与前置.

addChild返回添加的子项,因此您只需执行以下操作:

$label = $xml->root->addChild('label');
$label->addAttribute('id', 1);
$title = $label->addChild('title', 'This is a label');
$title->addAttribute('type', 'normal');
$label->addChild('sort', 1);
相关文章
相关标签/搜索