gpt4 book ai didi

java - 将 block 插入到 xml 文件 java

转载 作者:太空宇宙 更新时间:2023-11-04 06:24:09 25 4
gpt4 key购买 nike

<?xml version="1.0" encoding="UTF-8"?>
<DbVisualizer>
<Databases>
<Database id="1">
<Alias>MyMssqlServer</Alias>
<Url />
<Driver>SQL Server (jTDS)</Driver>
<Userid>db_monitor</Userid>
<Profile>auto</Profile>
<Type>sqlserver</Type>
<Password>ABCDEFGHSIFJSDSDKJSD</Password>
<ServerInfoFormat>1</ServerInfoFormat>
<AutoDetectType>true</AutoDetectType>
<Properties>
<Property key="dbvis.ConnectionModeMigrated">true</Property>
</Properties>
<UrlFormat>0</UrlFormat>
<UrlVariables>
<Driver>
SQL Server (jTDS)
<UrlVariable UrlVariableName="Server">192.168.1.1</UrlVariable>
<UrlVariable UrlVariableName="Port">1433</UrlVariable>
<UrlVariable UrlVariableName="Database">abcdefg</UrlVariable>
</Driver>
</UrlVariables>
<SshSettings>
<SshEnabled>false</SshEnabled>
<SshHost />
<SshPort>22</SshPort>
<SshUserid />
<SshPassword />
<SshPrivateKeyFile />
<SshPassphrase />
</SshSettings>
</Database>
</DbVisualizer>

我有一个配置过程,它为我生成了带有 sqlserver 的新服务器,我需要将这些属性添加到这个 XML 文件中,所以基本上我需要复制元素“Database”的部分,更改一些属性并将其推送到已经存在的数据库元素之后,为此,我在外部文件中为此部分创建了一个模板,我正在更改我需要的内容,但是如何将整个部分附加到文件中,我知道我可以一次执行一个元素,但这是很多元素,所以我想将整个部分推到我拥有的部分之后:

<Database id="IDNUMBER">
<Alias>MACHINAME</Alias>
<Url />
<Driver>SQL Server (jTDS)</Driver>
<Userid>db_monitor</Userid>
<Profile>auto</Profile>
<Type>sqlserver</Type>
<Password>ABCDEFGHSIFJSDSDKJSD==</Password>
<ServerInfoFormat>1</ServerInfoFormat>
<AutoDetectType>true</AutoDetectType>
<Properties>
<Property key="dbvis.ConnectionModeMigrated">true</Property>
</Properties>
<UrlFormat>0</UrlFormat>
<UrlVariables>
<Driver>
SQL Server (jTDS)
<UrlVariable UrlVariableName="Server">MACHINEIP</UrlVariable>
<UrlVariable UrlVariableName="Port">1433</UrlVariable>
<UrlVariable UrlVariableName="Database">abcdefg</UrlVariable>
</Driver>
</UrlVariables>
<SshSettings>
<SshEnabled>false</SshEnabled>
<SshHost />
<SshPort>22</SshPort>
<SshUserid />
<SshPassword />
<SshPrivateKeyFile />
<SshPassphrase />
</SshSettings>
</Database>

最佳答案

我假设您在对象 myDocument 中有主 xml 文档这是 org.w3c.dom.Document 类的一个实例并且您当前的模板实例位于对象 newDatabase 内这是 org.w3c.dom.Node 类的一个实例.

现在您必须检索 <Databases />节点来自 myDocument并附加 newDataBase节点到它

NodeList nodes = myDocument.getElementsByTagName("Databases");
nodes.item(0).appendChild(newDataBase);

appendChild()方法在指定元素节点的最后一个子节点之后添加一个节点。

-- 编辑:从文件中读取模板并获取您可以执行的节点

FileInputStream fileInputStream = new FileInputStream(TEMPLATE_FILE_PATH);
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(fileInputStream);
Node newDataBase = document.getDocumentElement();

-- 第二次编辑:在附加 newDataBase 之前节点到myDocument你必须复制 节点并将节点的所有权转移到目标文档中 代码行:

   Node newNode = myDocument.importNode(newDataBase, true);

然后您可以附加 newNodemyDocument使用之前的代码。

关于java - 将 block 插入到 xml 文件 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27020709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com