PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP-XML格式错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个PHP脚本,它将xml数据写入一个文件,另一个将该文件内容发送到客户端作为响应.
但是在客户端,我得到了以下错误
XML解析错误:格式不正确
当我查看页面代码时,看到的XML如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<books><date>December 24th, 2009</date><total>2</total><book><name>Book 1</name><url>http://www.mydomain.com/posters/68370/img.jpg</url></book><book><name>Book 2</name><url>http://www.anotherdomain.com/posters/76198/img1.jpg</url></book></books>

在file1.PHP中,我有以下代码将XML写入文件

$file= fopen("book_results.xml", "w");
$xml_writer = new XMLWriter();
$xml_writer->openMemory();
$xml_writer->startDocument('1.0', 'UTF-8', 'yes');
$xml_writer->startElement('books');
$xml_writer->writeElement('date',get_current_date());   // Like December 23rd, 2009
$xml_writer->writeElement('total',$totalResults);   
foreach($bookList as $key => $value) { /* $bookList contains key value pairs */
    $xml_writer->startElement('book');
    $xml_writer->writeElement('name',$key);
    $xml_writer->writeElement('url',$value);
    $xml_writer->endElement(); //book
}
$xml_writer->endElement(); //books
$xml_data = $xml_writer->outputMemory();
fwrite($file,$xml_data);
fclose($file);

在index.PHP中,我有以下代码来发送文件内容作为响应

<?PHP
    //Send the xml file contents as response
    header('Content-type: text/xml');
    readfile('book_results.xml');
?>

是什么原因引起的错误

请帮忙.
谢谢.

解决方法:

上面的代码对我来说看起来不错(包括您通过专用组件形成XML的事实),或者:

>您用来验证这一点的内容错误
>您正在寻找与您认为的有所不同的事物

我肯定会尝试使用其他工具/浏览器/进行任何验证.此外,您可能希望将XML文件保存为发送到浏览器的文件,并使用XMLStarlet(命令行XML工具包)进行检查.

我也在想这是否是我们不容易看到的问题-字符编码问题或Byte-Order-Mark问题(与编码有关).您要发送的网页的字符编码是否与XML(UTF-8)的编码匹配/不同.

大佬总结

以上是大佬教程为你收集整理的PHP-XML格式错误全部内容,希望文章能够帮你解决PHP-XML格式错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: