用Java中的“Document”替换文件中的XML

时间:2010-05-07 12:03:48

标签: java xml dom

在处理我在java中使用XML的第一步后,我现在正处于我想要更新XML / GPX文件中的一些数据的位置......

在我的“文档”数据类型中重新使用它非常有效:)

问题如何:如何将已更改的“文档”模型存储回我的文件?我是否必须通过使用标准文件功能(通过蒸汽等)来实现这一点,oder是一种更优雅的方式吗? ; - )

这是我已经制定的代码,也许这可能会有所帮助。 (getParsedXML方法只是将文件转换为额外的方法)

                Document tmpDoc = getParsedXML(currentGPX);

            //XML Parsind tests:
            // Access to tag attribute <tag attribut="bla">
            System.out.println(tmpDoc.getElementsByTagName("wpt").item(0).getAttributes().getNamedItem("lat").getTextContent());

            // Access to the value of an child element <a><CHILD>ValueOfChild</CHILD></a>
            System.out.println(tmpDoc.getElementsByTagName("wpt").item(0).getChildNodes().item(5).getTextContent());

            // Replacing access to tag attribute
            tmpDoc.getElementsByTagName("wpt").item(0).getAttributes().getNamedItem("lat").setTextContent("139.921055008");
            System.out.println(tmpDoc.getElementsByTagName("wpt").item(0).getAttributes().getNamedItem("lat").getTextContent());

            // Replacing access to child element value
            tmpDoc.getElementsByTagName("wpt").item(0).getChildNodes().item(5).setTextContent("Cala Sant Vicenç - Mallorca 2");
            System.out.println(tmpDoc.getElementsByTagName("wpt").item(0).getChildNodes().item(5).getTextContent());

1 个答案:

答案 0 :(得分:2)

不幸的是,Java XML API主要用于解析XML,但奇怪的是缺少一个明显的API来将XML存储在文件中。

您可以像this example中一样使用XSL转换API。