2015-04-18 2 views
1

J'ai une situation, où j'obtiens une représentation de chaîne d'un XML et je voudrais l'analyser en utilisant l'analyseur SAX.Java SAX analyse d'une chaîne XML

Je sais qu'il existe un moyen d'utiliser le constructeur de document pour obtenir un document DOM et l'analyser en utilisant l'analyseur DOM, mais je voudrais l'analyser en utilisant SAX.

Je ne veux pas l'enregistrer dans un fichier et le lire en utilisant l'analyseur syntaxique SAX, sauf si c'est la seule option.

Que dois-je faire dans cette situation?

Répondre

3

Utilisez SAXParser.parse(InputSource is, DefaultHandler dh)

InputSource is = new InputSource(new StringReader(str)); 
+0

comment une méthode qui obtient la chaîne regarder comme un argument comme? qu'est-ce qui va revenir? pouvez-vous s'il vous plaît modifier et écrire comme une méthode? – theexplorer

+0

quelque chose comme: 'public static Document loadXML (String xml) throws Exception { DocumentBuilderFactory fctr = DocumentBuilderFactory.newInstance(); DocumentBuilder bldr = fctr.newDocumentBuilder(); InputSource insrc = nouvelle InputSource (new StringReader (xml)); return bldr.parse (insrc); } ' – theexplorer

+0

voir ici https://docs.oracle.com/javase/tutorial/jaxp/sax/parsing.html –