复制非xml资源

时间:2011-09-14 07:09:14

标签: xslt xslt-2.0

我需要处理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

1.xml.out的内容:

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

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

1 个答案:

答案 0 :(得分: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,后者将文件复制到目标目录。