我想使用Java来获取XML文件的编码样式:
wx + b
使用以下Java代码:
<?xml version="1.0" encoding="UTF-8"?>
<company>
<staff>
<firstname>yong</firstname>
<lastname>mook kim</lastname>
<nickname>ä</nickname>
<salary>100000</salary>
</staff>
</company>
和我得到的输出是: XmlEncoding:ISO-8859-1 输入编码:UTF-8 而且我真的不知道为什么在XML标头中有UTF-8的情况下为什么会得到ISO-8859-1?
答案 0 :(得分:0)
代码运行正常。
Xml文件:new.xml
<?xml version="1.0" encoding="UTF-8"?>
<company>
<staff>
<firstname>yong</firstname>
<lastname>mook kim</lastname>
<nickname>ä</nickname>
<salary>100000</salary>
</staff>
</company>
这是代码:
public class XmlToJava {
public static void main(String[] args) {
try {
File file = new File("C:\\new.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(file);
doc.getDocumentElement().normalize();
System.out.println("XmlEncoding: " + doc.getXmlEncoding());
System.out.println("InputEncoding: " + doc.getInputEncoding());
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出(Eclipse IDE):
XmlEncoding: UTF-8
InputEncoding: UTF-8
但是我猜测您的IDE可能会遵循一些不同的编码标准。检查一下。