首页 > 解决方案 > 使用lua更改属性名称的xml标记

问题描述

我是新来的lua,我想更改XML标签和attribute名称。我的 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>. 如何做到这一点?

标签: lua

解决方案


模式(gsub 的第二个参数)中有一个拼写错误,它寻找的date data-type不是我们在 xml 中看到的,date date-type.
除此之外,模式中还有一个实际问题需要注意:Lua 模式使用特殊字符,例如- $ ^ () [ %. 你必须像这样逃避-in :. 在较小程度上,还值得注意的是,您不需要转义双引号(尽管这会起作用)。您可以将字符串用单引号或双括号括起来,其中的双引号将被识别为字符串的一部分。 示例:或 工作模式的最终示例:错字已修复,破折号已转义。 date-typedate%-type

'Foo "egg" bar'[[Foo "egg" bar]]
'<date date%-type="rec">'


推荐阅读