通过PHPDOM操作添加新的XML元素
我正在尝试将名为通过PHPDOM操作添加新的XML元素,php,dom,dom-manipulation,Php,Dom,Dom Manipulation,我正在尝试将名为member的新XML元素添加到此XML文档: <?xml version="1.0" encoding="UTF-8"?> <members> <member id="1" position="president"> <firstname>John</firstname> <surname>
member
的新XML元素添加到此XML文档:
<?xml version="1.0" encoding="UTF-8"?>
<members>
<member id="1" position="president">
<firstname>John</firstname>
<surname>Smith</surname>
<score>12</score>
</member>
<member id="2">
<firstname>Hank</firstname>
<surname>Rogers</surname>
<score>18</score>
</member>
<member id="3" position="secretary">
<firstname>Joe</firstname>
<surname>Ashton</surname>
<score>21</score>
</member>
</members>
不幸的是,当我print$dom->saveXML()时代码>新元素不会插入到DOM中,实际上它会打印:
JohnSmith12HankRogers18JoeAshton21
- 我该怎么修理
如果检查输出XML,您将在末尾看到一个空的
,因为您没有将任何子元素附加到$member
:
函数updateDom(){
$dom=新的DOMDocument();
$dom->preserveWhiteSpace=false;
$dom->load(“members.xml”);
$member=$dom->createElement(“成员”);
$firstname=$dom->createElement(“firstname”);
$LANSAME=$dom->createElement(“姓氏”);
$score=$dom->createElement(“score”);
$firstnameValue=$dom->createTextNode(“新建”);
$namesvalue=$dom->createTextNode(“新建”);
$scoreValue=$dom->createTextNode(“新建”);
$firstname->appendChild($firstnameValue);
$姓氏->附加子项($姓氏值);
$score->appendChild($scoreValue);
//附加子元素
$member->appendChild($firstname);
$member->appendChild($姓氏);
$member->appendChild($score);
$dom->documentElement->appendChild($member);
打印$dom->saveXML();
}
JohnSmith12HankRogers18JoeAshton21