gpt4 book ai didi

xml - 类似于 lineinfile 的 Ansible xml 操作

转载 作者:数据小太阳 更新时间:2023-10-29 01:40:00 31 4
gpt4 key购买 nike

在 Ansible 中,我正在寻找一种类似于 lineinfilereplace 的技术,但对于 XML 文件,当使用模板不是一个选项时。似乎是一个非常普遍的需求。

但是,对于 XML 文件,有必要指定 xpath 以保证元素在 DOM 中的正确位置存在/不存在。

解决方案需要确保有一种机制可以替换现有节点,该节点可能看起来与目标节点有很大不同。

简单的示例 XML 文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<datasources-configuration xmlns:myns="http://org.someorg.ds/config">
<datasources>
<!-- various other xml -->
<datasource>
<name>MyDS</name>
<jdbcUrl>...</jdbcUrl>
</datasource>
</datasources>
<!-- various other xml -->
</datasources-configuration>

我希望能够确保在匹配特定 xpath 表达式的情况下将完整的多行 XML block 插入/替换到目标 XML 文件中。例如,将以下数据源添加到数据源:

   <datasource>
<name>AnotherDS</name>
<jdbcUrl>...</jdbcUrl>
</datasource>

我见过的最好的是这个自定义模块,它打破了它自己的例子:https://github.com/cmprescott/ansible-xml

是否存在这样的模块或解决方案建议?

最佳答案

我只是自己调查了一下,发现了一个 ansible-xml模块看起来是个不错的选择。

关于xml - 类似于 lineinfile 的 Ansible xml 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30960904/

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