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

how to validate whether the string is a proper XML String.

user2019331
  • 151
  • 1
  • 1
  • 9

2 Answers2

6

You just need to open an InputStream based on the XML String and pass it to the 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
}
Sharon Ben Asher
  • 13,849
  • 5
  • 33
  • 47
1
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;
    }
}