jaxb解析xml忽略命名空间

当解析xml时我们一般要的是内容,一般不解析xml,当用jaxb解析XML时,如果记录命名空间相关信息,也会让类显得臃肿


以下为忽略命名空间的解析xml的代码



/**
* 解析xml(忽略命名空间)
* @param cla
* @param content
* @return
* @throws JAXBException
* @throws ParserConfigurationException
* @throws SAXException
*/
public static Object unmarshall(Class<?> cla , String content) throws JAXBException, ParserConfigurationException, SAXException {

        JAXBContext jaxbContext = JAXBContext.newInstance(cla);
        Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
        StringReader reader = new StringReader(content);
        
        SAXParserFactory sax = SAXParserFactory.newInstance();
        sax.setNamespaceAware(false);
        XMLReader xmlReader = sax.newSAXParser().getXMLReader();
        
        Source source = new SAXSource(xmlReader, new InputSource(reader));
        Object o = unmarshaller.unmarshal(source);


        return o ;
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章