用蚂蚁迭代INT xml文件 [英] iterate int xml file using ant

查看:136
本文介绍了用蚂蚁迭代INT xml文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从来就与下面的结构一个XML文件。我想读通过节点的首肯,并呼吁同值的特定任务,而不黎民separator.In蚂蚁,这是可能的吗?

I´ve a Xml file with the struct below. I want to read the nod by node and call a specific task with the values without commom separator.In Ant this is possible ?

<projects>
<!-- first node -->
 <project>
    <name> </name>
    <url> </url>
    <package> </package>
 </project>

 <!-- Second node -->
 <project>
    <name> </name>
    <url> </url>
    <package> </package>
 </project>
<projects>

谢谢!

推荐答案

使用 XSLT 任务来处理输入的XML文件插入随后执行的Ant脚本。

Use the XSLT task to process the input XML file into an ANT script that is subsequently executed.

|-- build.xml
|-- projects-process.xsl
`-- projects.xml

运行将处理信息

$ ant
Buildfile: /home/mark/tmp/build.xml

run-projects:
     [xslt] Processing /home/mark/tmp/projects.xml to /home/mark/tmp/build-tmp.xml
     [xslt] Loading stylesheet /home/mark/tmp/projects-process.xsl

build:

dosomething:
     [echo] DOSOMETHING: 'Project 1' 'http://someurl1' 'project1'"

dosomething:
     [echo] DOSOMETHING: 'Project 2' 'http://someurl2' 'project2'"

BUILD SUCCESSFUL

projects.xml

<projects>

    <project>
        <name>Project 1</name>
        <url>http://someurl1</url>
        <package>project1</package>
    </project>

    <project>
        <name>Project 2</name>
        <url>http://someurl2</url>
        <package>project2</package>
    </project>

</projects>

项目-process.xsl

这XSLT样式表是用来生成一个Ant脚本

projects-process.xsl

This XSLT stylesheet is used to generate an ANT script

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/">
        <project name="genbuild" default="build">

            <target name="build">
                <xsl:apply-templates select="projects/project"/>
            </target>

            <target name="dosomething">
                <echo>DOSOMETHING: '${name}' '${url}' '${package}'"</echo>
            </target>

        </project>
    </xsl:template>

    <xsl:template match="project">
        <antcall target="dosomething">
            <param name="name"    value="{name}"/>
            <param name="url"     value="{url}"/>
            <param name="package" value="{package}"/>
        </antcall>
    </xsl:template>

</xsl:stylesheet>

的build.xml

运行XSLT转换处理的 projects.xml 文件并生成一个Ant构建文件

build.xml

Runs the XSLT transform to process the projects.xml file and generate an ANT build file

<project name="demo" default="run-projects">

    <target name="run-projects">
        <xslt style="projects-process.xsl" in="projects.xml" out="build-tmp.xml"/>

        <ant antfile="build-tmp.xml"/>
    </target>

    <target name="clean">
        <delete file="build-tmp.xml"/>
    </target>

</project>

这篇关于用蚂蚁迭代INT xml文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆