如何使用ant更新XML中的多个组件
我想更新注册表中的数值,并使用ant管理下面xml文件中的组件 XML:- 我们分别运行组件注册和管理,新值将更新到此XML中有关组件的内容如何使用ant更新XML中的多个组件,xml,ant,Xml,Ant,我想更新注册表中的数值,并使用ant管理下面xml文件中的组件 XML:- 我们分别运行组件注册和管理,新值将更新到此XML中有关组件的内容 有没有办法通过ant提取组件的属性?听起来您需要使用XPath来唯一地标识每个组件。首先。我猜你不知道该怎么做。不过,我会在这个答案中总结一些选项 看起来是最好的选择。要将XML值拉入属性,请执行以下操作: <xmltask source="map.xml"> <!-- copies to a property 'user' --&g
有没有办法通过ant提取组件的属性?听起来您需要使用XPath来唯一地标识每个组件。首先。我猜你不知道该怎么做。不过,我会在这个答案中总结一些选项 看起来是最好的选择。要将XML值拉入属性,请执行以下操作:
<xmltask source="map.xml">
<!-- copies to a property 'user' -->
<copy path="/map/entry[@key='database.user']/@value" attrValue="true" property="user"/>
</xmltask>
它看起来还可以将XML中的值提取到系统属性中,但文档非常缺乏:
<target name="find-hrefs">
<xpath document="foo.xhtml" xpath="/html/body/a/@href" outputproperty="hrefs"/>
</target>
有关的SO问题中提到了这一点。它在答案中使用Javascript从XML中提取数据并将其存储在系统属性中。不过现在,也许您可以使用Groovy或Scala脚本引擎支持来获得更简洁的语法
使用一个。我认为这不会帮助您从XML中提取值,但您可能需要更改一些值或节点。将xmltask=>与相关XPath表达式结合使用。@user2935276希望它适合您!我添加了更多的链接到答案,现在我有超过10的声誉。很高兴听到这个!GJ!
<xmltask source="map.xml">
<!-- copies to a property 'user' -->
<copy path="/map/entry[@key='database.user']/@value" attrValue="true" property="user"/>
</xmltask>
<target name="find-hrefs">
<xpath document="foo.xhtml" xpath="/html/body/a/@href" outputproperty="hrefs"/>
</target>