我正在尝试解析一个Xml文件,其中一个标签元素如下所示
126.5�105�15-4�45�-16MnCr5-1
当我尝试使用jaxb进行解析并读取xml时,内容会变为如下所示
126.5 �— 105 �— 15-4�—45°-16MnCr5-1
我不知道为什么我使用unicode格式进行检查默认情况下它采用的是cp1252格式而不是UTF-8格式,即使我在xml中指定了kinldy help这里是读取xml传递的方法属性xml文件和jaxbclass映射
protected T readXml(File xmlFile, Class<?> clazz) throws JAXBException, IOException, XMLStreamException {
JAXBContext jaxbContext = null;
Unmarshaller unmarshaller = null;
jaxbContext = JAXBContext.newInstance(clazz);
unmarshaller = jaxbContext.createUnmarshaller();
XMLInputFactory factory = XMLInputFactory.newInstance();
XMLStreamReader streamReader = null;
streamReader = factory.createXMLStreamReader(new FileReader(xmlFile));
return (T) unmarshaller.unmarshal(streamReader);
}
答案 0 :(得分:0)
尝试从文件中读取内容时传递编码。
streamReader = factory.createXMLStreamReader(new FileReader(xmlFile),"UTF-8");
应该修复它。