可变的xml操作类似于lineinfile

在Ansible中,我正在寻找一种类似于lineinfile或替换的技术,但在使用模板时,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>

我想要确保一个完整的多行的XML被插入/替换成目标XML文件给定一个特定的xpath表达式匹配.例如,要将以下数据源添加到数据源:

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

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

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

我只是看着自己,发现了一个看起来像一个很棒的选择的 ansible-xml模块.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念