以下是示例代码,演示了如何获取 JAXB(JSR-222)
实现以使用SAX解析器:
import java.io.FileReader;import javax.xml.XMLConstants;import javax.xml.bind.JAXBContext;import javax.xml.bind.Unmarshaller;import javax.xml.parsers.SAXParserFactory;import javax.xml.transform.sax.SAXSource;import org.xml.sax.InputSource;import org.xml.sax.XMLReader;public class Demo { public static void main(String[] args) throws Exception { JAXBContext jc = JAXBContext.newInstance(Foo.class); SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); XMLReader xmlReader = spf.newSAXParser().getXMLReader(); InputSource inputSource = new InputSource(new FileReader("input.xml")); SAXSource source = new SAXSource(xmlReader, inputSource); Unmarshaller unmarshaller = jc.createUnmarshaller(); Foo foo = (Foo) unmarshaller.unmarshal(source); System.out.println(foo.getValue()); }}


