>  기사  >  백엔드 개발  >  php生成xml小疑点一个,不懂,

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

WBOY
WBOY원래의
2016-06-13 13:39:03739검색

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 中,空节点
可以写作形如
 
也可以写作形如

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.