鍍金池/ 問答/PHP  HTML/ PHP simplexml 的asXML方法寫入的xml文件無子節(jié)點(diǎn)的標(biāo)簽變成單

PHP simplexml 的asXML方法寫入的xml文件無子節(jié)點(diǎn)的標(biāo)簽變成單個閉合標(biāo)簽?

標(biāo)題有點(diǎn)長,我分開描述一下
我用PHP simplexml load一個xml文件,分析完后再用asXML方法寫入原來的文件,通過文件對比發(fā)現(xiàn)原來:

<Expression></Expression>

這種 類型的空標(biāo)簽重新寫入后變成 :

<Expression/>

所以造成文件變化了,這有問題嗎?這個是 <Expression/>單閉合標(biāo)簽,在下一次load此xml文件時會有問題嗎?

問題二:用DoMDocument加載XML文件的方式去解析XML時,如何遍歷某個標(biāo)簽對象下面的所有子節(jié)點(diǎn)?用什么方法,搞了半天沒搞懂?

回答
編輯回答
還吻

問題一,下次加載不會出問題
如果有數(shù)據(jù)比對,你想還原成原樣的話,可以使用asXML后正則匹配替換下。

preg_replace('/\<(\w+)\/\>/','<$1></$1>',$axxmlstr);//處理空接點(diǎn)自閉合標(biāo)簽。

問題二,多看看w3cschool的教程吧。

2017年10月9日 19:51