我目前正在使用以下代码来解析Xml文件的一部分(我首先将整个文件读成一个字符串)。
for xmlMatch in xmlString:gmatch("<MyXmlElement.*</MyXmlElement>") do
-- Do something.
end
我遇到的问题是for循环只执行一次,因为gmatch函数只返回一个字符串,该字符串从MyXmlElement的第一个实例开始,并在MyXmlElement的最后一个实例的闭包处结束。我怎样才能解析字符串,以便只要找到字符串"</MyXmlElement>"
<(而不是最后一种情况),就匹配模式?
答案 0 :(得分:8)
这里有三件事:
.-
作为模式直到第一个</MyXmlElement>
所有在一起:
for att,cont in XmlString:gmatch'<MyXmlElement%s*(.-)>(.-)</MyXmlElement>' do
-- something
end
应该这样做。