Я пытаюсь перебрать все узлы 'FindMe', но я борюсь с сопоставлением с шаблоном. Это будет использоваться в качестве плагина в другом программном обеспечении, поэтому я стараюсь избегать использования библиотеки синтаксического анализа.
Учитывая следующее xml
<?xml version="1.0" encoding="utf-8"?>
<NodeA>
<NodeB>
<FindMe attr="1">
<NodeC attr="1" />
</FindMe>
<FindMe attr="2">
<NodeC attr="2" />
</FindMe>
</NodeB>
</NodeA>
Когда я пытаюсь это он только печатает последнее совпадение
for k, _ in src:gmatch(".+(<FindMe .+</FindMe>).+") do
print(k)
end
<FindMe attr="2">
<NodeC attr="2" />
</FindMe>
Когда я пытаюсь это, он печатает все совпадающие узлы как один результат
for k, _ in src:gmatch('<FindMe.+>.+</FindMe>') do
print(k)
end
<FindMe attr="1">
<NodeC attr="1" />
</FindMe>
<FindMe attr="2">
<NodeC attr="2" />
</FindMe>