在JAVA中验证字符串XML

时间:2015-08-13 12:30:24

标签: java jaxb sax

String strXML ="<?xml version='1.0' encoding='UTF-8' standalone='yes'?><custDtl><name>abc</name><mobNo>9876543210</mobNo></custDtl>"

如何验证字符串是否是正确的XML字符串。

2 个答案:

答案 0 :(得分:6)

您只需要根据XML String打开InputStream并将其传递给SAX Parser:

try {
    String strXML ="<?xml version='1.0' encoding='UTF-8' standalone='yes'?><custDtl><name>abc</name><mobNo>9876543210</mobNo></custDtl>";
    SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
    InputStream stream = new ByteArrayInputStream(strXML.getBytes("UTF-8"));
    saxParser.parse(stream, ...);
} catch (SAXException e) {
    // not valid XML String
}

答案 1 :(得分:0)

public static boolean isXMLValid(String string) {
    try {
        SAXParserFactory.newInstance().newSAXParser().getXMLReader().parse(new InputSource(new StringReader(string)));
        return true;
    } catch (ParserConfigurationException | SAXException | IOException ex) {
        return false;
    }
}