Home >Backend Development >PHP Tutorial > php生成xml小疑点一个,不懂,

php生成xml小疑点一个,不懂,

WBOY
WBOYOriginal
2016-06-13 13:39:03774browse

php生成xml小问题一个,不懂,在线等!

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?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
现在问题来了 如果上面的随便一个节点为空 加入39.0改为
生成的xml文件就有问题了,我们这下来看看生成的0000.xml内容,随便找个编辑器打开浏览结果:
XML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?xml version="1.0"?>
<books>
<book>
<title>Harry Potter</title>
<publisher>Warner Bros.</publisher>
[color=#FF0000]<price></price>[/color]
</book>
</books>



求大牛帮看看怎么回事,因为小弟我要生成的xml文件中节点内容不明确,有些节点值将留空,是不是php就不能生成带有空值节点的内容,
我想让某些节点为空,希望生成的xml文件能成为如下这样:
XML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?xml version="1.0"?>
<books>
<book>
<title>Harry Potter</title>
<publisher>Warner Bros.</publisher>
[color=#FF0000]<price></price>[/color]
</book>
</books>



先感激帮我忙的大牛了,祝天天开心!

------解决方案--------------------
首先, xml里 应该写成

其次, 试下saveHTML()
------解决方案--------------------
$dom->save("0000.xml",LIBXML_NOEMPTYTAG ); //最后一句改成这样。
------解决方案--------------------
这个我也不知道。可能遇到空值就出问题了。
------解决方案--------------------
生成xml最好加上 ,比如:
还需注意符号 ,&,\," 需转义成 < > & ' " 同时需注意   要转义成空格。要不同样会报错。
------解决方案--------------------
这是什么问题呀?!
在 XML 中,空节点
可以写作形如
 
也可以写作形如

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn