У меня возникают проблемы с пространством имен с gpath.Groovy gpath не работает при использовании с префиксом xml-тегов
String record = '''
<u:record>
<u:controlfield tag="001">017003167</u:controlfield>
<u:datafield ind2="" ind1="" tag="Tag_1234">
<u:subfield code="a">Peter</u:subfield>
<u:subfield code="b">10</u:subfield>
</u:datafield>
<u:datafield ind2="" ind1="" tag="Tag_1234">
<u:subfield code="a">Simon</u:subfield>
<u:subfield code="b">20</u:subfield>
</u:datafield>
<u:datafield ind2="" ind1="" tag="Tag_20">
<u:subfield code="a">Simon</u:subfield>
<u:subfield code="b">20</u:subfield>
</u:datafield>
</u:record>
'''
GPathResult studentRecord = new XmlSlurper(false, false).parseText(record)
GPathResult filteredRecord = studentRecord.datafield.findAll { it.'@tag' == 'Tag_1234' }
println "filteredRecord: ${filteredRecord}\n"
println "filteredRecord size is ${filteredRecord.size()}\n"
Выходной сигнал 0. Не знаете, почему это так. Если я удалю префикс xml «u:», то gpath работает нормально. Может кто-нибудь, пожалуйста, скажите мне, где я иду не так.
что такое "recordWithPrefixXml? –
Его опечатка - я исправил xml сейчас. – user292049