XPathAPI.selectSingleNode + Namespaces

Status
Nicht offen für weitere Antworten.
D

dionyssos80

Gast
Hallo,

ich habe ein Document doc und will mittels selectSingleNode und Xpath mir einen speziellen Knoten selektieren und dieses in ein neues Document schreiben.
Das geht auch alles super aber in dem neuen Document fehlen mir die Namespaces aus dem alten.

Wie kann ich dir ebenfalls in das neue schreiben?

Danke
 

Zed

Bekanntes Mitglied
Namespace musst halt im neuen Document als Attribut vom Rootelement setzen
 
G

Guest

Gast
ich würde aber gerne die alten auslesen und dann neu setzen wie geht das?


Danke
 

Zed

Bekanntes Mitglied
Hängt immer davon ab welches System du benutzen tust. Ich bin z.B. ein Fan von dom4j

Mit dom4j geht das so.

Code:
		try {
			SAXReader reader = new SAXReader();
			Document doc1 = reader.read("C:/fu.xml");
			Document doc2 = reader.read("C:/bar.xml");
			for (Iterator itr = doc1.getRootElement().attributeIterator(); itr.hasNext();) {
				Attribute att = (Attribute)itr.next();
				doc2.getRootElement().addAttribute(att.getName(), att.getValue());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

Das sollte schon so tun. Habs natürlich net getestet :D
 
G

Guest

Gast
danke,

meine lösung:

NamedNodeMap map = doc.getDocumentElement().getAttributes();

for(int i=0; i< map.getLength();i++){

Node temp = map.item(i);
doc2.getDocumentElement().setAttribute(temp.getNodeName(), temp.getNodeValue());
}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben