Я тестирую стандартный xml-анализатор с кодом
xml-файл
<? xml version='1.0' encoding='UTF-8'?>
<A></A>
и Java ...
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db=null;
try {
db = dbf.newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
Document doc=null;
try {
doc = (Document) db.parse(filePath);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Element a= (Element) doc.getElementsByTagName("A").item(0);
Element b=(Element) doc.createElement("B");
b.setAttribute("id", "12345");
a.appendChild(b);
Transformer transformer=null;
try {
transformer = TransformerFactory.newInstance().newTransformer();
} catch (TransformerConfigurationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (TransformerFactoryConfigurationError e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
//initialize StreamResult with File object to save to file
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(doc);
try {
transformer.transform(source, result);
} catch (TransformerException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String xml= result.getWriter().toString();
... для некоторыхпричина, по которой xml var значение всегда
[# document: null]
хотя я хочу получить сам xml :( Так что мне просто интереснопочему он всегда нулевой? И как получить внутренний модифицированный XML, чтобы сохранить его, скажем, в файл?