我正在尝试将节点添加到xml文件中。
我想像这样在'Self'之后添加新节点
<NewNode>UN9TD72U</NewNode>
这是我的xml文件的样子
<?xml version="1.0"?>
<GetProductCategories>
<GetProduct>
<Self>
<ProductCategoryId>1282779353</ProductCategoryId>
<ProductCategoryName>Shirt</ProductCategoryName>
<Parent>
<ProductCategoryId>8363437382</ProductCategoryId>
<ProductCategoryName>Sports tshirt</ProductCategoryName>
</Parent>
</Self>
</GetProduct>
</GetProductCategories>
我的代码是:
$xml = simplexml_load_file("data.xml");
$child = $xml->addChild("NewNode");
$child->addAttribute("text","UN9TD72U");
$xml->asXML("data.xml");
输出,我得到的是
<?xml version="1.0"?>
<GetProductCategories>
<GetProduct>
<Self>
<ProductCategoryId>1282779353</ProductCategoryId>
<ProductCategoryName>Shirt</ProductCategoryName>
<Parent>
<ProductCategoryId>8363437382</ProductCategoryId>
<ProductCategoryName>Sports tshirt</ProductCategoryName>
</Parent>
</Self>
</GetProduct>
<NewNode text="UN9TD72U"/>
</GetProductCategories>
答案 0 :(得分:1)
Pool.map()
答案 1 :(得分:0)
addChild()
接受value的第二个参数,因此您可以编写:
$child = $xml->addChild("NewNode", "UN9TD72U");
关于将其添加到<Self>
(我想这就是您想要的?)中,您可以使用children()
进入模型中的每个对象:
http://php.net/manual/en/simplexmlelement.children.php
编辑:如Iainn的评论所指出的(我忘记了此方法),您还可以直接访问子元素,例如$xml->GetProduct->Self->addChild()
。
总而言之:
$xml = simplexml_load_file("data.xml");
$xml->GetProduct->Self->addChild("NewNode", "UN9TD72U");
$xml->asXML("data.xml");