PHP simplexml 的asXML方法写入的xml文件无子节点的标签变成单个闭合标签?

标题有点长,我分开描述一下
我用PHP simplexml load一个xml文件,分析完后再用asXML方法写入原来的文件,通过文件对比发现原来:

<Expression></Expression>

这种 类型的空标签重新写入后变成 :

<Expression/>

所以造成文件变化了,这有问题吗?这个是 <Expression/>单闭合标签,在下一次load此xml文件时会有问题吗?

问题二:用DoMDocument加载XML文件的方式去解析XML时,如何遍历某个标签对象下面的所有子节点?用什么方法,搞了半天没搞懂?

阅读 3.4k
1 个回答

问题一,下次加载不会出问题
如果有数据比对,你想还原成原样的话,可以使用asXML后正则匹配替换下。

preg_replace('/\<(\w+)\/\>/','<$1></$1>',$axxmlstr);//处理空接点自闭合标签。

问题二,多看看w3cschool的教程吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题