0

私はこのようなものに頻繁にぶつかります。今回は、次のような行がたくさん含まれているスプライトシートファイルがあります。

<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"/>

ここでid、各textureregionをたとえば100ずつインクリメントしてから、同じxmlを別のファイルに書き込むか、既存のファイルを上書きする必要があります。これを何度も繰り返す必要があるので、自動化する必要があります。私はこれについて無数の方法を考えることができます。しかし、私も何か新しいことを学びたいので、ここに行きます:

そのようなタスクをどのように完了しますか?カスタムツールを作成しますか?脚本?どの言語、ライブラリ、またはツールを使用しますか?これを並べ替えることができる行または作業の最小量はどれくらいですか?

4

2 に答える 2

1

xmlstarletxmlファイルの編集に使用できます。
例えば: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ファイルをインプレースで編集するオプションを追加できます。

于 2012-03-03T17:08:45.277 に答える
1

XSL 変換を使用します。データとスタイルシートを処理できるコマンドライン プロセッサがいくつかあります。

XSLT は強力な言語であり、XML (V1 スタイルシート) から XML、HTML、またはプレーン テキストへのほぼすべての変換を行うことができます。そのため、ID を 1 つ増やすなどの単純なタスクでは「最小行数」ではないかもしれませんが、実際に必要なほとんどすべての変換を行うことができます。

于 2012-03-03T17:16:31.910 に答える