2011-09-14 70 views
0

我需要处理XML文件,然后复制发生在它复制非XML资源

输入资源

-inputFolder 
    -1.xml 
    -1.jpg 
    -2.jpg 

内容1.XML的一些资源:

<links> 
    <link ref="1.jpg"/> 
    <link ref="2.jpg"/> 
</links> 

输出资源

-outputFolder 
    -1.xml.out 
    -1.jpg 
    -2.jpg 

Co 1.xml.out的内容:

<links_new> 
    <link_new ref_new="1.jpg"/> 
    <link_new ref_new="2.jpg"/> 
</links_new> 

因此,我想复制1.jpg和2.jpg,可能吗?

+0

“复制”是什么意思?你想转换XML并复制节点,还是想复制节点命名的文件?第一个可能是XSLT的工作,后者不是。 – musiKk

+0

“复制”是什么意思?想要的输出是什么? –

+0

@empo更新开始主题 – Nawa

回答

1

您可以使用XML starlet command tool解析xml文件。

要复制1.JPG和2.JPG使用以下命令(适用于UNIX或Cygwin的):

xml sel -t -m "/links/link/@ref" -v '.' -o ';' 1.xml | xargs -d';' -I {} cp /input/path/{} /output/path/ 

xml sel -t -m "/links/link/@ref" -v '.' -o ';' 1.xml 

选择所有的JPG文件,并通过“将它们分开的命令;”。

然后xargs解析输入并将其传递给cp,它将文件复制到目标目录。

+0

它不适合,只能使用xslt脚本 – Nawa