JAXB javax.xml.bind.PropertyException
I am getting the below error when i try to read XML file that has some japanese char开发者_运维知识库acters.
javax.xml.bind.PropertyException: jaxb.encoding
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.getProperty(AbstractUnmarshallerImpl.java:360)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getProperty(UnmarshallerImpl.java:423)
at com.jaxb.JAXBTest.main(JAXBTest.java:23)
enter code here
package com.jaxb;
import java.io.FileReader;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
public class JAXBTest
{
public static void main(String args[])
{
try
{
JAXBContext context = JAXBContext.newInstance(com.pain.jaxb.ver2.Document.class);
Unmarshaller um = context.createUnmarshaller();
um.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
com.pain.jaxb.ver2.Document PainTransferList2 = (com.pain.jaxb.ver2.Document) um.unmarshal(new FileReader("C:/WorkArea/JAXB/src/com/pain/messages/APXSEPAS_510812_1.XML"));
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Please advice.
Thanks Rafi
You're setting a Marshaller
property on an Umarshaller
:
Unmarshaller um = context.createUnmarshaller();
um.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
You can only set Unmarshaller
properties on an Unmarshaller
.
Remove the setProperty
and try again.
精彩评论