javax.xml.transform.Transformer.transform方法是否可以在不抛出异常的情况下编写不完整/无效的XML文档

时间:2014-01-20 21:12:08

标签: java xml exception transform

我有一个方法可以更新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);
}

谢谢,

汤姆

0 个答案:

没有答案