使用lua更改带属性名称的xml标签

我是新手 lua,想要更改 XML 标签和 属性 名称。我的XML是:

<art>
    <fm>
    <art-meta>
            <his>
            <date date-type="rec"><day>23</day><month>1</month><year>2002</year></date>
            <date date-type="acc"><day>21</day><month>4</month><year>2002</year></date>
            </his>
    </art-meta>
    </fm>
</art>

我尝试过 FileGlobal = string.gsub(FileGlobal,"<date data-type=\"rec\">", "<date-rec>"),但不起作用。

我想将 <date date-type="rec"> 更改为 <date-rec>。如何实现?

点赞
用户12514997
用户12514997

在模式中有一个错别字(gsub 的第二个参数),它寻找“日期数据类型”,而不是我们在 xml 中看到的“日期日期类型”。

除此之外,还要注意一个实际的问题: Lua 模式使用特殊字符,如“- $ ^ () [ %”。你必须转义“date-type”中的“-”字符,如下所示:“date%-type”。

在较小的程度上,也值得注意的是,你不需要转义双引号(虽然这也可以工作)。你可以用单引号或双方括号括住字符串,其中的双引号将被识别为字符串的一部分。

示例:“'Foo“egg”bar'”或“[[Foo“egg”bar]]”

一个可工作模式的最终示例:错别字已纠正,破折号已转义。 '<date date%-type="rec">'

2020-06-26 18:37:06