XML创建及中文显示问题

前端之家收集整理的这篇文章主要介绍了XML创建及中文显示问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1、创建xml文件
        DocumentFactory factory = newDocumentFactory();
   Document doc = factory.createDocument();
   doc.addElement(OrganizateConstant.EREQUEST);
   doc.setXMLEncoding("gb2312");
   doc.setName("MainData.xml");
   Element root = doc.getRootElement();
   root.addAttribute("type","0");
   Element head = root.addElement(OrganizateConstant.HEAD);
   Element security = head.addElement(OrganizateConstant.SECURITY);
   security.addAttribute("type","0");
   Element element = security.addElement(OrganizateConstant.CA);
   element.setText("");
   element = security.addElement(OrganizateConstant.USER);
   element.setText(OrganizateConstant.USER_NAME);
   element = security.addElement(OrganizateConstant.PSWD);
   element.setText(OrganizateConstant.PASSWORD);

2、XML默认的编码格式是UTF-8,这种编码模式不显示汉字,所以经常有些初学者会遇到XML中汉字不能显示的问题,出现如下错误提示:An invalid character was found in textcontent...
【解 决方法】:

将encoding设为GB2312,即<?xml version="1.0"encoding="gb2312"?>doc.setXMLEncoding("gb2312")这样编码格式就被设置成简体中文了。

当XML文件的数据与编码不符合的时候,就可能发生无法正确解译的错误,也可能该数据会变成空白或乱码,所以应该根据文件的数据内容选择一个恰当的编码格式。

XML的编码格式有以下几种:
1、UTF-8:每一个字都有8位(1Byte)组成,通常是用来处理英文的,最多只能表示255个字母。当处理英文以外的语言时,会自动以16位(2Byte)方式进行处理。
使用范 例:<?xmlversion="1.0" encoding="UTF-8"?>
2、UTF-16:为16位(2Byte)的编码方式,采用UTF-16的编码方式时,连英文都会被强制以16位方式来处理,这就有别于UTF-8。
使用范例:<?xmlversion="1.0" encoding="UTF-16"?>
3、GB2312,GBK:即简体中文
使用范例:<?xmlversion="1.0"encoding="gb2312"?>
4、BIG5:即繁体中文
使 用范例:<?xmlversion="1.0" encoding="big5"?>

猜你在找的XML相关文章