java - 获取 XML 文件的编码类型?

标签 java xml

我正在使用 DocumentBuilder 解析 XML。

XML 的第一行是这样的:

xml version="1.0" encoding="GBK"

我想获取 XML 的编码类型并使用它。我怎样才能得到"GBK"

基本上我会在我希望保留 encoding="GBK" 的地方再制作一个 XML。

目前正在丢失并设置为默认 UTF-8

有许多不同编码的XML,我需要读取源文件F的编码。

最佳答案

一种方法是这样的

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(); 

关于java - 获取 XML 文件的编码类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9429037/

相关文章:

java - 无法创建 PoolableConnectionFactory (未知数据库 'XYZ_DEV' )

java - 不允许实体声明但允许 DTD

iOS:CCCrypt() kCCOptionECBMode 和 kCCModeCBC 哪个更安全

java - JAXB动态绑定(bind)子类

php - 如何使用 php 和 mysql 将 xml 响应解析为变量并存储到表中?

java - TimerTask 无法更新 JavaFX 标签文本

java - 更新查询不适用于 OrientDB 中的 eval() 函数和参数

java - 从 xml 获取特定值

java - 更改 xml 标记的值

Java new Date 带有日期格式的时间戳