php生成xml小疑点一个,不懂,
php生成xml小问题一个,不懂,在线等!PHP code?php$xml_str eof?xml version1.0?booksbookt
php生成xml小问题一个,不懂,在线等!
PHP code<?php$xml_str = <<<eof<?xml version='1.0'?><books><book><title>Harry Potter</title><publisher>Warner Bros.</publisher><price>39.0</price></book></books>eof;$dom = new DOMDocument;$dom->loadXML($xml_str);echo $dom->saveXML();$dom->save("0000.xml");?>
这个是php生成xml页面 生成xml名称为0000.xml
现在问题来了 如果上面的随便一个节点为空 加入<price>39.0</price>改为<price></price>
生成的xml文件就有问题了,我们这下来看看生成的0000.xml内容,随便找个编辑器打开浏览结果:
XML code<?xml version="1.0"?><books><book><title>Harry Potter</title><publisher>Warner Bros.</publisher>[color=#FF0000]<price/>[/color]</book></books>
求大牛帮看看怎么回事,因为小弟我要生成的xml文件中节点内容不明确,有些节点值将留空,是不是php就不能生成带有空值节点的内容,
我想让某些节点为空,希望生成的xml文件能成为如下这样:
XML code<?xml version="1.0"?><books><book><title>Harry Potter</title><publisher>Warner Bros.</publisher>[color=#FF0000]<price></price>[/color]</book></books>
先感激帮我忙的大牛了,祝天天开心!
[解决办法]首先, xml里 <price></price> 应该写成<price/>
其次, 试下saveHTML()
[解决办法]$dom->save("0000.xml",LIBXML_NOEMPTYTAG ); //最后一句改成这样。
[解决办法]这个我也不知道。可能遇到空值就出问题了。
[解决办法]生成xml最好加上 <![CDATA[ ]]>,比如: <title><![CDATA[Harry Potter]]></title>
还需注意符号 <,>,&,\," 需转义成 < > & ' " 同时需注意 要转义成空格。要不同样会报错。
[解决办法]这是什么问题呀?!
在 XML 中,空节点
可以写作形如
<price></price>
也可以写作形如
<price/>