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"?>
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"?>