如何根据对象名称自动保存和重命名 XML 文件

如何根据对象名称自动保存和重命名 XML 文件

我有数百个 XML 文件,但文件名都是随机的。它们的名称如下:

  • Bt_01.XML
  • Bt_02.XML
  • Bt_03.XML
  • Bt_04.XML

但他们应该这样命名:

  • 按钮配件.XML
  • 按钮_菜单01.XML
  • 按钮_菜单02_新.XML
  • 按钮_新大厅_标题.XML

在每个 XML 文件中,它们都有自己的 XML 名称。

例如,按钮_新大厅_标题Bt_04.XML

<?xml version="1.0" encoding="UTF-8"?>
<ResAssets>
    <Object0 Class="Resource_Button" ID="1" Name="Button_NewLobby_Header">
        <Shape0 Name="" path="assets/button/Bt_A01.tga"  width="2048" height="2048" X="0" Y="0">
        </Shape0>
    </Object0>
</ResAssets>

我想知道如何保存它们并根据它们的对象名称自动命名它们。

答案1

XSLT 3.0 解决方案:

<xsl:template name="xsl:initial-template">
  <xsl:for-each select="collection('my/lib/select=*.xml')">
    <xsl:result-document href="{/*/Object0/@Name}.xml">
      <xsl:copy-of select="."/>
    </xsl:result-document>
  </xsl:for-each>
</xsl:template>

相关内容