我有一个方法可以更新XML文档中特定节点的文本内容。下面的方法是否可以在不抛出异常的情况下编写无效/不完整的XML文档?
Transformer doc:http://docs.oracle.com/javase/7/docs/api/javax/xml/transform/Transformer.html
private static void updateUserNode(String nodeMatchValue, String updateNodeValue, String fileName) throws Exception {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(fileName);
NodeList list = doc.getElementsByTagName("user");
for (int i = 0; i < list.getLength(); i++) {
Node node = list.item(i);
if (node == null) continue;
if (nodeMatchValue.equals(node.getTextContent())) {
node.setTextContent(updateNodeValue);
}
}
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(AppProperties.tmpDir + fileName.substring(fileName.lastIndexOf("/") + 1)));
transformer.transform(source, result);
}
谢谢,
汤姆