在java中获取XML的编码类型

use*_*785 7 java xml

我正在使用DocumentBuilderjava 1.4 解析XML .
XML的第一行是

xml version="1.0" encoding="GBK"
Run Code Online (Sandbox Code Playgroud)

我想得到XML的编码类型并使用它.我怎样才能获得"GBK"
基本上我将再创建一个我希望encoding="GBK"保留的XML .
目前它正在迷失并设置为默认UTF-8
有许多不同编码的XML我需要读取编码od源和必要的东西.

请帮忙

小智 6

一种方法就是这样

final XMLStreamReader xmlStreamReader = XMLInputFactory.newInstance().createXMLStreamReader( new FileReader( testFile ) );

//running on MS Windows fileEncoding is "CP1251"
String fileEncoding = xmlStreamReader.getEncoding(); 

//the XML declares UTF-8 so encodingFromXMLDeclaration is "UTF-8"
String encodingFromXMLDeclaration = xmlStreamReader.getCharacterEncodingScheme(); 
Run Code Online (Sandbox Code Playgroud)


Emm*_*urg 1

使用javax.xml.stream.XMLStreamReader来解析您的文件,然后您可以调用getEncoding().