2010-06-16 8 views
3

J'ai un document XML dans une variable (pas dans un fichier). Comment puis-je stocker des données dans cet état? Je n'ai pas de fichier supplémentaire avec ça, je l'ai dans mon code source. Quand j'utilisecomment analyser le document XML?

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder db = dbf.newDocumentBuilder(); 
Document doc = db.parse(XML); 

(XML est ma variable xml), je reçois une erreur

java.io.FileNotFoundException: C:\netbeans\app-s7013\<network ip_addr="10.0.0.0\8" save_ip="true"> File not found. 

Répondre

5

Lisez votre XML dans un StringReader, l'envelopper dans un InputSource et passer que votre DocumentBuilder:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder db = dbf.newDocumentBuilder(); 
Document doc = db.parse(new InputSource(new StringReader(xml))); 
2

En supposant que XML est une chaîne, ne soyez pas confus par la version qui prend une chaîne - la chaîne est une URL, pas votre entrée!

Ce dont vous avez besoin est la version qui prend un flux d'entrée.

Vous devez créer un flux d'entrée basé sur une chaîne (je vais essayer de trouver un exemple de code, mais vous pouvez utiliser Google pour cela). Habituellement, un StringReader est impliqué.