0
我有一些XML文件,我想改变名,如果名==测试名。所以我写了这样的东西,但它不起作用。我犯了什么错误?它打印给我参数类型不匹配,我不知道为什么。Groovy的XMLParser中 - 更新节点文本
String xmlData = "
<logger>
<logLevel>
<id>1</id>
<idn>id1</idn>
<name>testName</name>
<level>warn</level>
<logLevelsPos>
<package id="97724539">
<packName>package1</packName>
</package>
<package id="98264591">
<packName>package2</packName>
</package>
</logLevelsPos>
</logLevel>
<logLevel>
<id>2</id>
<idn>id2</idn>
<name>nameName</name>
<level>error</level>
<logLevelsPos>
<package id="12732539">
<packName>package2</packName>
</package>
<package id="43264591">
<packName>package5</packName>
</package>
</logLevelsPos>
</logLevel>
</logger>";
def loggr = new groovy.util.XmlParser().parseText(xmlData);
for (def it : loggr.children()){
if(it.name.text().equals("testName")) {
it.name.value = "ds";
//argument type mismatch ...
}
哦..我很接近:)但为什么[0]?不明白 – Gwalk 2014-09-29 09:41:00
嗯..明白:因为它是一个由1个元素组成的列表 – Gwalk 2014-09-29 09:44:03
在这种情况下是一个。可能还有更多。 – cfrick 2014-09-29 09:44:49