通过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