草庐IT

groovy++

全部标签

xml - Groovy MarkupBuilder 节点

考虑以下代码:defbuilder=newMarkupBuilder()builder.root(){}我想将root的子级的创建委托(delegate)给一个单独的方法。我怎样才能完成这个任务?需要考虑的一些选项是创建节点并从方法返回节点,或者传入父节点并将它们添加到方法中(这两个示例都会很有用)。 最佳答案 Groovywebsite包含有关如何实现此目的的解释。示例:defwriter=newStringWriter()defxml=newgroovy.xml.MarkupBuilder(writer)xml.books(){

java - 使用 Java 转换 XML 有哪些不同的方法?

我正在研究如何在Java项目中将XML从一种格式转换为另一种格式。有哪些替代方案,它们的优缺点是什么?目前我发现的替代品:XSLT/XQueryXML将两种格式绑定(bind)到Java并在Java中进行映射时髦 最佳答案 我投票支持XSLT。它的强大优势在于转换规则与您的Java代码是分开的。因此,稍后,您可以轻松地对架构更改使用react,而无需触及您的代码。并且您可以在任何地方测试/调试转换-无需运行应用程序。 关于java-使用Java转换XML有哪些不同的方法?,我们在Stac

xml - 如何使用 Groovy 的 MarkupBuilder 呈现列表

我正在使用GroovyMarkupBuilder将map转换为XML.此映射可以包含简单的键/值对、其他映射或映射列表。我从代码中搭便车here.importgroovy.xml.MarkupBuilderdefmap=[key1:'value1',key2:'value2',nestedMap:[key1:'bar1',key2:'bar2'],select:[[option:'foo1'],[option:'foo2']]]ClosurerenderMap(Mapmap){return{for(entryinmap){switch(entry.value.getClass()){c

xml - Groovy 删除 XMLSlurper 中的标签,replaceNode {} 什么都不做

我正在使用XMLSlurper(groovy1.7.4)解析一些XML,我需要删除一个标签(而不是让它为空!)。这是说明它的代码示例:importgroovy.xml.StreamingMarkupBuilderdefCAR_RECORDS='''AustraliaProductionPickupTruckwithspeedof271kphIsleofManSmallestStreet-LegalCarat99cmwideand59kginweightFranceMostValuableCarat$15million'''defrecords=newXmlSlurper().parse

xml - 真正删除 XMLParser 对象 Groovy 中的节点

如何通过XMLParser真正删除一个节点:x='''abeeff'''xml=newXmlParser().parseText(x)defnodeToDel=xml.A.B.find{it.@C1='a'}xml.remove(nodeToDel)printlnxmlnewXmlNodePrinter(newPrintWriter(newFileWriter(newFile('c:/temp/a.xml')))).print(xml)似乎有效但是!!!!当我将其翻译成我的问题时,它仍然保存原始xmlalthoguh在运行remove-method后返回true。我用谷歌搜索了一下,找

xml - Groovy XmlSlurper 和插入子节点

是否可以使用Groovy'sXMLSlurper并在索引处插入子节点?目前GPathResult类有putAt(index)和appendNode()。第一个替换索引处的元素而不是插入,第二个添加到末尾。不幸的是,我依赖于XmlSlurper而不是XmlParser。谢谢。 最佳答案 找到了。如此简单(非常棒Groovy)。只需使用闭包和+运算符在相关节点之后添加节点即可。例如://Addtheac:MessageStatusafterac:MessageDateTime(thisisanAcordmessagehencetheac

xml - Groovy 用 xpath 替换 xml 中的节点值

我想用groovy替换xml中的节点值。我在散列图中的xpath中有值,例如:defparam=[:]param["/Envelope/Body/GetWeather/CityName"]="Berlin"param["/Envelope/Body/GetWeather/CountryName"]="Germany"XML文件:TestTest如何替换节点值? 最佳答案 您可以尝试使用XmlSlurper相反,这可能是一种简单的方法。您可以使用节点名称作为键来定义您的map,并将文本作为值迭代它以更改Xml中的节点。您可以使用类似于

xml - Groovy:Xml:如何在单个循环中读取已解析的 xml 字符串的文本

有一个xml字符串响应,其中包含一个名为的子标签,响应可能包含一个或多个标签如下,案例一字符串Xml=AkhilNikhilKiran案例二字符串Xml=AkhilStringparsedXml=newXmlParser(false,false).parseText(Xml)如果1值在第一个内标签是通过使用以下语句获得的Case1Stringname=parsedXml.Student.Name[0].text()案例2中的值在中标签是通过使用以下语句获得的Case2Stringname=parsedXml.Student.Name.text()那么我怎样才能得到valueAkhil即

json - 想要 Groovy MarkupBuilder() 等同于对象的 JSONBuilder()

目标:鉴于下面的myInfoObject定义,我希望能够做到这一点:printlnnewgroovy.xml.MarkupBuilder(myInfoObject).toPrettyString()前提:以下是Groovy在我的用例中最令人惊奇和方便的特性之一:将复杂的嵌套对象出色地动态序列化为合理的JSON。只需传递对象,然后获取JSON。示例-map中的简单mapimportgroovy.json.*defmyInfoMap=[firstname:'firstname',lastname:'lastname',relatives:[mother:"mom",father:"dad"

java - Groovy XML Slurping 的速度

我们开始调查一个需要一些棘手的XML解析的项目。我喜欢Groovy的XmlSlurper的外观(Groovy似乎是我目前的选择GoldenHammer)。我们将需要处理范围相当广泛的XML输入,而Groovy的动态特性可能会让我们制定出一个简洁明了的解决方案。我们拭目以待。一个问题是这种灵active和动态性在速度方面的成本,尽管我还没有对此进行测试。有人对这个有经验么?与一些用于解析XML的Java替代方案相比,Groovy和XmlSlurper是特别快还是特别慢? 最佳答案 我没有看到XmlSlurper有严重的性能问题,但您应