Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用ant更新XML中的多个组件_Xml_Ant - Fatal编程技术网

如何使用ant更新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管理下面xml文件中的组件

XML:-

我们分别运行组件注册和管理,新值将更新到此XML中有关组件的内容


有没有办法通过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>