xml文件中的ant任务或foreach循环
我需要一些关于循环遍历一个xml文件的帮助,我设法使用xmlproperty获取节点,但我正在努力研究如何在有多个参数的情况下循环遍历它们 以下是格式:xml文件中的ant任务或foreach循环,ant,ant-contrib,xmltask,Ant,Ant Contrib,Xmltask,我需要一些关于循环遍历一个xml文件的帮助,我设法使用xmlproperty获取节点,但我正在努力研究如何在有多个参数的情况下循环遍历它们 以下是格式: <Problems> <Problem> <Rule>1</Rule> <ProblemDescription>1</ProblemDescription> <SourceFile>1</Sour
<Problems>
<Problem>
<Rule>1</Rule>
<ProblemDescription>1</ProblemDescription>
<SourceFile>1</SourceFile>
<Line>1</Line>
<Column>1</Column>
<Severity>Warning</Severity>
</Problem>
<Problem>
<Rule>2</Rule>
<ProblemDescription>2</ProblemDescription>
<SourceFile>2</SourceFile>
<Line>2</Line>
<Column>2</Column>
<Severity>Warning</Severity>
</Problem>
</problems>
1.
1.
1.
1.
1.
警告
2.
2.
2.
2.
2.
警告
我想循环执行此操作,以便获得以下输出:
一,
1.
1.
1.
1.
1.
2.
2.
2.
2.
二,
解决方案:
<target>
<taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
<xmltask source="problem.xml">
<call path="/Problems/Problem">
<param name="rule" path="Rule/text()" />
<param name="probdesc" path="ProblemDescription/text()" />
<actions>
<echo>Rule: @{rule}</echo>
<echo>Problem Description: @{probdesc}</echo>
</actions>
</call>
</target>
规则:@{Rule}
问题描述:@{probdesc}
您可以使用XPATH表达式返回与给定模式匹配的所有内容。在您的情况下,某些标记的值
.自从我改用maven以来,已经好几年没有使用ANT了 当我使用ant时,我会为这种功能创建一个自定义ant任务。这样,您就拥有了java的全部功能和更具可读性的代码,如果需要进行更改,您就必须编译任务 这实际上取决于您将如何处理输出。如果您做的事情非常简单,那么xpath的另一个答案更合适 见:
试试下面的答案。不需要ant contrib,使用XSLT生成处理标记的ant构建:当我10秒前尝试它时,它工作了。也许网站暂时关闭了?或者被封锁在你的办公室?是的,你是对的。现在它起作用了。我不知道原因是什么。非常感谢。