我试图获取xml属性和xml任务,如何循环文件集中的2个或更多文件?当我尝试在for loop
中获取文件列表时,我得到了一个文件列表,因此我可以解析每个xml属性。
Test1.xml:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Test2.xml
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
</CATALOG>
它们位于同一个文件夹中我得到它的文件集并添加到列表中,获取该文件夹中的文件列表,然后我尝试解析这些xml文件并找出每个xml文件中有一个元素标记:
<target name="findxmlParse" >
<echo>${srcDir}/xmlfolder/</echo>
<resourcecount property="countObject">
<fileset id="filesref" dir="${srcDir}/xmlfolder/">
<include name="*.xml"/>
</fileset>
</resourcecount>
<!-- <echo message="There are ${countObject} object in This Folder ${srcDir}/xmlfolder/"/> -->
<property name="files" refid="filesref"/>
<for list="${files}" delimiter=";" param="file" >
<sequential>
<!-- <echo message=" @{file} "/> -->
<!-- this is working for only file not in list -->
<!-- <xmlproperty file="${srcDir}/xmlfolder/${file}" collapseAttributes="true" /> -->
<xmlproperty file="${srcDir}/xmlfolder/@{file}" collapseAttributes="true" />
<echo >@{file}--${note.to} -- ${CATALOG.CD.TITLE}</echo>
</sequential>
</for>
</target>
如何解析这些文件并通过特定文件夹中的那些文件列表提取其元素属性?
${srcDir} - local dir
答案 0 :(得分:0)
你可以使用JAXB,它与ant:
相当不错<listTitles catalog=“${src.dir}/thecatalog.xml” />
如果您需要代码示例,请告诉我,但我很确定您可以自己学习这些内容。