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