Xml 如何使用groovy访问节点的值
这是一个非常简单的问题。我有这样一个XML文件:Xml 如何使用groovy访问节点的值,xml,groovy,Xml,Groovy,这是一个非常简单的问题。我有这样一个XML文件: <?xml version="1.0" encoding="UTF-8"?> <test:main xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:test="http://www.testexample.com/test" xmi:id="_BMseo
<?xml version="1.0" encoding="UTF-8"?>
<test:main xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:test="http://www.testexample.com/test" xmi:id="_BMseoD4mEeiL8o0bAkMKoA">
<childNode xmi:id="_9_RgZj4lEeiL8o0bAkMKoA" name="Boo!" number="1.414"/>
<childNode xmi:id="_9_RgYz4lEeiL8o0bAkMKoA" name="toto" number="42"/>
<childNode xmi:id="__o_QMT4lEeiL8o0bAkMKoA" name="paf" number="12.215"/>
<childNode xmi:id="_vUeScDy9EeilM5T6mGX42Q" name="pif" number="56.1"/>
</test:main>
我想改变toto的数值,比如42.42。
我该怎么做
谢谢你的关注
编辑:以下代码运行良好:
import groovy.xml.*
def myTest = '''
<test:main xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:test="http://www.testexample.com/test" xmi:id="_BMseoD4mEeiL8o0bAkMKoA">
<childNode xmi:id="_9_RgZj4lEeiL8o0bAkMKoA" name="Boo!" number="1.414"/>
<childNode xmi:id="_9_RgYz4lEeiL8o0bAkMKoA" name="toto" number="42"/>
<childNode xmi:id="__o_QMT4lEeiL8o0bAkMKoA" name="paf" number="12.215"/>
<childNode xmi:id="_vUeScDy9EeilM5T6mGX42Q" name="pif" number="56.1"/>
</test:main>
'''
myTest = new XmlParser(false, true).parseText(myTest)
myTest.childNode.find { obj ->
obj.@name == 'toto'
}.@number = 42.42
println XmlUtil.serialize( myTest )
导入groovy.xml*
def myTest=''
'''
myTest=newXMLParser(false,true)。parseText(myTest)
myTest.childNode.find{obj->
obj.@name=='toto'
}@number=42.42
println XmlUtil.serialize(myTest)
谢谢你的帮助 这里我使用了一个示例xml文件。请尝试使用以下代码:
import groovy.xml.XmlUtil
String xmlfile ='''<?xml version="1.0" encoding="UTF-8"?>
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price name="dollars" mode="online">5.95</price>
<description>
Two of our famous Belgian Waffles with plenty of real maple syrup
</description>
<calories>650</calories>
</food>
</breakfast_menu>'''
def root = new XmlSlurper().parseText(xmlfile)
root.food.price.find{ it["@name"] =="dollars"}.@ "mode"='offline'
println (XmlUtil.serialize(root))
import groovy.xml.XmlUtil
字符串xmlfile=''
华夫饼
5.95
我们的两个著名的比利时华夫饼干,里面有很多真正的枫糖浆
650
'''
def root=new XmlSlurper().parseText(xmlfile)
root.food.price.find{it[“@name”]==“美元”}.@“mode”='offline'
println(XmlUtil.serialize(根))
要了解更多操作,只需阅读Groovy文档提供有效的xml文件..Santonja,编辑部分下的代码片段似乎正常,并显示了所需的输出。是吗?拉奥,是的,现在是工作!谢谢你的帮助@Uchiha_Itachi!高兴的如果你觉得答案是有用的或可以接受的,你应该接受并投赞成票。有关信息,请参阅和