Java使用Java DOM将节点插入到XML(.RDG)文件中

时间:2013-09-20 18:14:54

标签: java xml xml-parsing

我目前正在尝试编写一个Java应用程序,它会自动将新节点插入我的远程桌面连接管理器使用的.RDG文件中。基本上,我有一堆新服务器我想自动添加,我想制作一个java程序来为我做。但是,我被困在代码的特定部分。我的.RDG文件具有.rdg文件中服务器的以下格式:

             <server>
                <name>www.testsite.com</name>
                <displayName>test</displayName>
                <comment />
                <logonCredentials inherit="FromParent" />
                <connectionSettings inherit="FromParent" />
                <gatewaySettings inherit="FromParent" />
                <remoteDesktop inherit="FromParent" />
                <localResources inherit="FromParent" />
                <securitySettings inherit="FromParent" />
                <displaySettings inherit="FromParent" />
            </server>

到目前为止,我要插入新服务器节点的代码如下:

public void insertNewServer(){
        try{
            Document document = builder.parse(new FileInputStream(pathToRDGFile));
            Node productionServersNode = document.getElementsByTagName("group").item(2);

            Element newServer = document.createElement("server");
            Element newServerName = document.createElement("name");
            newServerName.appendChild(document.createTextNode("server100.servers.com"));
            Element newServerDisplayName = document.createElement("displayName");
            newServerDisplayName.appendChild(document.createTextNode("TS100"));

        }

我被困在如何处理文件中的下几个元素。我知道如何插入文本节点,但接下来的几个节点是节点,如:

                <logonCredentials inherit="FromParent" />
                <connectionSettings inherit="FromParent" />
                <gatewaySettings inherit="FromParent" />
                <remoteDesktop inherit="FromParent" />
                <localResources inherit="FromParent" />
                <securitySettings inherit="FromParent" />
                <displaySettings inherit="FromParent" />

目前,从我读过的教程中,我似乎无法找到哪种特定方法最适合用于在同一组括号中插入包含所需信息的节点。我会知道如何设置它,例如,它是:

<logonCredentials> logon creds </logonCredentials>

但是当我想要插入一个节点时,我被困在于使用什么java方法:

<logonCredentials inherit="FromParent" />

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

从教程开始,通常最好参考API文档以获取更多信息。

http://www.w3.org/2003/01/dom2-javadoc/org/w3c/dom/Node.html

http://www.w3.org/2003/01/dom2-javadoc/org/w3c/dom/Element.html

Element logonCredentials = document.createElement("logonCredentials");
logonCredentials.setAttribute("inherit", "FromParent");
newServer.appendChild(logonCredentials);