Анализ атрибутов и значений с помощью XMLParser от Groovy

#groovy

#groovy

Вопрос:

У меня есть следующая часть XML-файла:

 <properties> 
    <project.version>module.version</project.version>
    <ie.version>17-8-103</ie.version>
    <leg_uk.version>17-6-6</leg_uk.version>
    <leg_na.version>17-8-103</leg_na.version>
</properties>
  

Я хочу сгенерировать файл со следующим содержимым:

 ie.project.version = 17-8-103
leg_uk.project.version = 17-8-103
  

Как сгенерировать такой файл?

Комментарии:

1. @FrancoisBourgeois re: «и в чем ваш вопрос?»… Я думаю, что он / она хочет знать, как создать текстовый файл, содержащий такие вещи, как project.version = 17-8-103 и leg_uk.project.version = 17-8-103 заданный XML, как показано в вопросе.

2. Я хочу сгенерировать данный текстовый файл путем анализа данного xml.

Ответ №1:

Это то, что вы ищете?

 def txt = """<properties> 
    <project.version>module.version</project.version>
    <ie.version>17-8-103</ie.version>
    <leg_uk.version>17-6-6</leg_uk.version>
    <leg_na.version>17-8-103</leg_na.version>
</properties>"""
def xml = new XmlParser().parseText(txt)

new File('tmp').withWriter { w ->
   xml.children().each {
      w << "${it.name()}=${it.value().text()}n"
   }
}
  

Комментарии:

1. ДА.. Большое вам спасибо. Я застрял на том, как разобрать тег *.version. Это сработало … 🙂