Mik*_*e D 15 xml xpath replace ansible
在Ansible中,我正在寻找一种技术,当使用模板时,这种技术与XML文件的工作方式相似lineinfile
或不同replace
.似乎是一个非常普遍的需求.
但是,对于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>
Run Code Online (Sandbox Code Playgroud)
我希望能够确保在给定某个xpath表达式匹配的情况下将XML的完整多行块插入/替换到目标XML文件中.例如,要将以下数据源添加到数据源:
<datasource>
<name>AnotherDS</name>
<jdbcUrl>...</jdbcUrl>
</datasource>
Run Code Online (Sandbox Code Playgroud)
我见过的最好的是这个自定义模块打破了它自己的例子:https://github.com/cmprescott/ansible-xml
这样的模块是存在还是解决方案建议?