Se il vostro XML è una stringa, allora si può fare quanto segue:
String xml = ""; //Populated XML String....
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(xml)));
Element rootElement = document.getDocumentElement();
Se il vostro XML è in un file, poi Document document
vengono istanziati in questo modo:
Document document = builder.parse(new File("file.xml"));
Le document.getDocumentElement()
si ritorna il nodo che è l'elemento del documento del documento (nel tuo caso <config>
).
volta che hai un rootElement
, è possibile accedere attributo dell'elemento (chiamando rootElement.getAttribute()
metodo), ecc Per ulteriori metodi su org.w3c.dom.Element
Informazioni di Java su Java DocumentBuilder & DocumentBuilderFactory. Ricordare, l'esempio fornito crea un albero DOM XML, quindi se si dispone di un enorme dati XML, l'albero può essere enorme.
Aggiornamento Ecco un esempio per ottenere "valore" di un elemento <requestqueue>
protected String getString(String tagName, Element element) {
NodeList list = element.getElementsByTagName(tagName);
if (list != null && list.getLength() > 0) {
NodeList subList = list.item(0).getChildNodes();
if (subList != null && subList.getLength() > 0) {
return subList.item(0).getNodeValue();
}
}
return null;
}
Si può effettivamente chiamare come,
String requestQueueName = getString("requestqueue", element);
fonte
2010-11-02 11:00:27
Err, questo è molto simile alla vostra altra domanda qui .. http://stackoverflow.com/questions/4013687/how-to-append-a-new-value-in-xml- using-java/4013881 # 4013881 – William