2010-11-26 6 views
3

ce que je suis turorial sur XML avec XPath l'analyse syntaxique, et il donne l'exemple suivant pour ouvrir un document:chaîne comme document

DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); 
domFactory.setNamespaceAware(true); // never forget this! 
DocumentBuilder builder = domFactory.newDocumentBuilder(); 
Document doc = builder.parse("books.xml"); 

Ce que je voudrais faire, est de changer cela pour que le Document lit une variable String que j'ai déjà faite, au lieu de lire à partir d'un fichier. Comment puis je faire ça?

Répondre

5
builder.parse(new InputSource(new StringReader("<some><xml></xml></some>"))); 
2

Regardez here

DocumentBuilderFactory dbf = 
     DocumentBuilderFactory.newInstance(); 
    DocumentBuilder db = dbf.newDocumentBuilder(); 
    InputSource is = new InputSource(); 
    is.setCharacterStream(new StringReader(xmlRecords)); 

    Document doc = db.parse(is); 
0

Vous pouvez essayer celui-ci:

public static Document stringToDom(String xmlSource) 
     throws SAXException, ParserConfigurationException, IOException { 
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder builder = factory.newDocumentBuilder(); 
    return builder.parse(new InputSource(new StringReader(xmlSource))); 
} 
Questions connexes