我有一个XML文档,看起来像这样
<home>
<address>
<address1 city="asd">
<Language spoken="English">
<SubLanguages>true</SubLanguages>
</Language>
</address1>
<address1 city="asd1">
<Language spoken="Spanish"/>
</address1>
<address1 city="asd">
<Language spoken="Hebrew"/>
</address1>
</address>
</home>
如您所见,address1 city=“asd”标记在XML中出现两次。我知道理想的方法是使用一个address1元素,该元素下有两个语言元素,但不幸的是,这现在不可能。
我在寻找一种方法,用city=“asd”标识所有address1标记,然后将其下面的所有子元素复制到一个字符串中。
<address1 city="asd">
<Language spoken="English">
<SubLanguages>true</SubLanguages>
</Language>
<Language spoken="Hebrew"/>
</address1>
(表示此XML的理想方式)
现在,我使用XMLSlurper解析XML,并使用findAll识别address1中城市标记值为“asd”的所有节点。我陷入困境的是如何将每个标记内的其余子元素作为字符串复制
这是我关于SO的第一个问题,如果我不够清楚/错过了一些正确的格式/样式,我提前道歉!
感谢您的理解!