使用自定义工具或脚本解析和更改xml文件

时间:2012-03-03 17:03:09

标签: xml parsing scripting xml-parsing customtool

我经常碰到这样的事情。这次我有精灵表文件,其中包含许多这样的行:

<textureregion id="2" src="blue_ship1.png" x="778" y="791" width="64" height="65" rotated="false" trimmed="false" srcx="0" srcy="0" srcwidth="64" srcheight="65"/>

现在我需要在每个textureregion上增加id例如100,然后将相同的xml写入另一个文件或覆盖现有文件。我将不得不一次又一次地这样做,所以我需要自动化它。我可以想到无数的方法来解决这个问题。但我也想学习一些新东西,这里有:

你将如何完成这项任务?写一个自定义工具?脚本?您会使用哪种语言,图书馆或工具?你排序的线路或工作量最少的是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用xmlstarlet编辑xml文件 例如:id ==> id+100

$ xmlstarlet edit --update '/textureregion/@id' -x '.+100'  input.xml
<?xml version="1.0"?>
<textureregion id="102" src="blue_ship1.png" x="778" y="791" width="64" height="65" rotated="false" trimmed="false" srcx="0" srcy="0" srcwidth="64" srcheight="65"/>

您可以添加--inplace选项来编辑文件。

答案 1 :(得分:1)

我使用XSL转换;有几个命令行处理器可以为您处理数据和样式表。

XSLT是一种功能强大的语言,您几乎可以将XML(V1样式表)转换为XML,HTML或纯文本。因此,对于简单任务(例如增加一个ID)而言,它可能不是“最少量的行”,但您几乎可以完成所需的任何转换。