首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PHP编写SimpleXML

问用PHP编写SimpleXML
EN

Stack Overflow用户
提问于 2013-09-06 17:36:18
回答 1查看 102关注 0票数 0

首先,我必须告诉你,我对PHP完全陌生!

我想写入一个简单的XML文件。

我有一个循环,如果该文件不存在,则创建该文件并添加我需要的第一个子文件:

代码语言:javascript
复制
$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获取一个格式文件:

代码语言:javascript
复制
<?xml version="1.0"?>
<iPhone>
  <UDID>
    <valueUDID>myValue</valueUDID>
  </UDID>
</iPhone>

当文件存在时,我只需要添加我使用的和子文件:

代码语言:javascript
复制
$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");

但我得到的结果是:

代码语言:javascript
复制
<?xml version="1.0"?>
<iPhone>
  <UDID>
    <valueUDID>myValue</valueUDID>
  </UDID>
  </UDID>
    <valueUDID>myNewValue</valueUDID>
</iPhone>

这不是我想要的!我只想补充一句:

代码语言:javascript
复制
<UDID>
  <valueUDID>myNewValue</valueUDID>
</UDID> 

我的代码简单的关闭标签</UDID>,我不知道怎么做!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-06 17:51:31

在您的第二段代码中,这一行不应该:

代码语言:javascript
复制
$valueUDID = $UDIDFile->addChild('valueUDID',$udidDevice);

是这样的:

代码语言:javascript
复制
$valueUDID = $UDID->addChild('valueUDID',$udidDevice);

它没有关闭它的原因,是因为您有错误的变量名,导致它在根上创建了2个新元素。

现场演示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18663459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档