php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
错误提示
Invalid byte 1 of 1-byte UTF-8 sequence
原因分析
在中文版的window下java的默认的编码为GBK,也就是所虽然我们标识了要将xml保存为utf-8格式但实际上文件是以GBK格式来保存的,所以这也就是为什么能够我们使用GBK、GB2312编码来生成xml文件能正确的被解析,而以UTF-8格式生成的文件不能被xml解析器所解析的原因。
把xml的encoding属性值UTF-8改为UTF8
org.xml.sax.SAXParseException: Content is not allowed in trailing section
把先要解析和字符串trim()一下即可解决问题。
解决:
1、最简单就是把<?xml version="1.0" encoding="UTF-8"?>改成<?xml version="1.0" encoding="gbk"?>
2、或者把xml打开另存的时候把字符集改为UTF-8后保存
或改程序
代码如下:
SAXReader reader = new SAXReader();
org.dom4j.Document document = reader.read("D:\ha.xml");
OutputFormat of = new OutputFormat();
of.setEncoding("UTF-8"); //改变编码方式
XMLWriter writer = new XMLWriter(new FileWriter "d:\dom4j.xml"), of);
相关推荐
-
php的XML文件解释类应用实例
本文实例讲述了php的XML文件解释类及其用法,是非常实用的技巧.分享给大家供大家参考.具体如下: XMLParser.class.php类文件如下: <?php /** XML 文件分析类 * Date: 2013-02-01 * Author: fdipzone * Ver: 1.0 * * func: * loadXmlFile($xmlfile) 读入xml文件输出Array * loadXmlString($xmlstring) 读入xmlstring 输出Array */ class
-
php 修改、增加xml结点属性的实现代码
php 修改 增加xml结点属性的代码,供大家学习参考.php修改xml结点属性,增加xml结点属性的代码,有需要的朋友,参考下. 1.xml文件 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8" ?><clientSet><server url="192.168.0.180" port="1935" /><rootPath value=&
-
php操作XML、读取数据和写入数据的实现代码
xml文件 <?xml version="1.0" encoding="utf-8"?> <vip> <id>23</id> <username>开心的路飞</username> <sex>男</sex> <face>face/43.jpg</face> <email>123@qq.com</email> <qq>
-
PHP生成sitemap.xml地图函数
复制代码 代码如下: <?php /** * 网站地图更新控制器 * * @author Garbin * @usage none */class SitemapApp extends FrontendApp{ function __construct() { $this->SitemapApp(); } function SitemapApp() { parent::__construct();
-
PHP将XML转数组过程详解
得到一个xml型的对象: 复制代码 代码如下: $resp = $this->c->execute($req, $sessionKey);//获得xml对象$items=$resp->items; 那么读取对象的值,就用$items->item,或者$items->item->price,如此操作很不方便,不符合php操作数组的习惯. php提供了array方法将对象转换成数组,只要把你要转换数组的对象前面加上(array)就行了. 比如将$items->item
-
php的webservice的wsdl的XML无法显示问题的解决方法
php的webservice的因为wsdl有中文所以xml无法显示 可以用Nopepad++ 转码即可 以UTF-8无BOM编码
-
php中simplexml_load_file函数用法实例
本文实例讲述了php中simplexml_load_file函数用法.分享给大家供大家参考.具体用法分析如下: 在php中simplexml_load_file() 函数把 XML 文档载入对象中之后我们就可以利用由此函数返回的对象进行相关的操作了,下面我们看几个测试实例. 例子,XML文件代码如下: 复制代码 代码如下: <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to&g
-
php中simplexml_load_string使用实例分享
先用一段代码重现一下问题 乍一看,结果很让人费解: 复制代码 代码如下: <?php $string = <<<EOF <data> <foo><bar>hello</bar></foo> <foo><bar>world</bar></foo> </data> EOF; $data = simplexml_load_string($string); print_r
-
php输出xml必须header的解决方法
本文实例讲述了php输出xml必须header的解决方法.分享给大家供大家参考.具体方法如下: 问题描述: 最近在做一个xml输出时发现我们直接使用echo输入的xml文档会提示Error: Object # has no method 'load'错误的了,后改用了header()输出xml头文件就解决了,下面记录一下. 解决方法: 由于xml长的和txt文件太相似,所以导致我总和txt混为一谈. 现来看看如下代码: 复制代码 代码如下: echo '<?xml version="1.0
-
php的SimpleXML方法读写XML接口文件实例解析
在php5中读写xml文档是非常方便的,可以直接使用php的SimpleXML方法来快速解析与生成xml格式的文件,下面举例说明: 创建一个SimpleXML对象有三种方法: 1.使用new关键字创建 复制代码 代码如下: $xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item><item>&l
-
php json与xml序列化/反序列化
在web开发中对象的序列化与反序列化经常使用,比较主流的有json格式与xml格式的序列化与反序列化,今天想写个jsop的小demo,结果发现不会使用php序列化,查了一下资料,做个笔记简单数组json格式序列化/反序列化 php提供了json_encode和json_decode函数对对象进行json格式序列化/反序列化操作 $data=array('Name'=>'Byron','Age'=>24,'Sex'=>'Male','Friends'=>array('Casper',
随机推荐
- 【算法】扑克发牌算法实现
- PostgreSQL中的OID和XID 说明
- 导入extjs、jquery 文件时$使用冲突问题解决方法
- limitIE 为IE加上一把密码锁(输入密码才可以访问)
- Java中基于maven实现zxing二维码功能
- C#中查找Dictionary中重复值的方法
- php线性表的入栈与出栈实例分析
- php实现自定义中奖项数和概率的抽奖函数示例
- Zend Framework实现留言本分页功能(附demo源码下载)
- 用Python的urllib库提交WEB表单
- ArrayList类(增强版)
- window.open()实现post传递参数
- jquery移除了live()、die(),新版事件绑定on()、off()的方法
- 基于jquery实现控制经纬度显示地图与卫星
- 资料:8种Windows安全模式解析以及应用
- 用YSlow分析和优化页面的方法第1/2页
- 详解Java中的迭代迭代器Iterator与枚举器Enumeration
- C# 禁止应用程序多次启动的实例
- php中switch与ifelse的效率区别及适用情况分析
- android读取短信示例分享