首先,我必须告诉你,我对PHP完全陌生!
我想写入一个简单的XML文件。
我有一个循环,如果该文件不存在,则创建该文件并添加我需要的第一个子文件:
$newFile = simplexml_load_file("myXMLPattern.xml");
$UDID = $newFile->addChild('UDID');
$valueUDID = $UDID->addChild('valueUDID',$udidDevice);
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($newFile->asXML());
$dom->saveXML();
$dom->save("./UDID/".$udidReference.".xml");一切都很好,它会创建我的文件并添加我需要的孩子!我使用DOM获取一个格式文件:
<?xml version="1.0"?>
<iPhone>
<UDID>
<valueUDID>myValue</valueUDID>
</UDID>
</iPhone>当文件存在时,我只需要添加我使用的和子文件:
$UDIDFile = simplexml_load_file("./UDID/".$udidReference.".xml");
$UDID = $UDIDFile->addChild('UDID');
$valueUDID = $UDIDFile->addChild('valueUDID',$udidDevice);
$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($UDIDFile->asXML());
$dom->saveXML();
$dom->save("./UDID/".$udidReference.".xml");但我得到的结果是:
<?xml version="1.0"?>
<iPhone>
<UDID>
<valueUDID>myValue</valueUDID>
</UDID>
</UDID>
<valueUDID>myNewValue</valueUDID>
</iPhone>这不是我想要的!我只想补充一句:
<UDID>
<valueUDID>myNewValue</valueUDID>
</UDID> 我的代码简单的关闭标签</UDID>,我不知道怎么做!
发布于 2013-09-06 17:51:31
在您的第二段代码中,这一行不应该:
$valueUDID = $UDIDFile->addChild('valueUDID',$udidDevice);是这样的:
$valueUDID = $UDID->addChild('valueUDID',$udidDevice);它没有关闭它的原因,是因为您有错误的变量名,导致它在根上创建了2个新元素。
https://stackoverflow.com/questions/18663459
复制相似问题