草庐IT

logback-groovy

全部标签

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有严重的性能问题,但您应

xml - 如何使用 XmlSlurper 删除 Groovy 中的元素?

例如,如何以编程方式删除rootNode中名称为one的所有标签?defrootNode=newXmlSlurper().parseText('Sometext!')我试过了rootNode.children().removeAll{it.name()=='one'}但它报告:groovy.lang.MissingMethodException:Nosignatureofmethod:groovy.util.slurpersupport.NodeChildren.removeAll()isapplicableforargumenttypes:(DUMMY$_closure1_closu

java - logback.xml : overriding root level for one class only

给定logback.xml中的以下根目录:定义以下日志记录规则:myclass中的日志级别不会是DEBUG,因为根级别是info。但我只想查看这个特定类中的调试日志。这是否可以在不更改根级别的情况下实现(这会导致应用从各处吐出调试日志)?编辑:我也试过这个:所以我的想法是将根设置为debug,这样一切都是DEBUG,但是将“com.myproject”下的所有内容都设置为info,这样日志级别实际上是INFO,但将MyClass设置为DEBUG。它没有用:( 最佳答案 “Root”级别不限制其他记录器的级别,它只是设置默认值。所以和

xml - 如何打印保留命名空间的 groovy 节点?

当我使用此代码输出一些XML时,我使用XmlParser解析(和修改)XmlParserparser=newXmlParser()defroot=parser.parseText(feedUrl.toURL().text)defwriter=newStringWriter()newXmlNodePrinter(newPrintWriter(writer)).print(root)printlnwriter.toString()根节点上的namespace声明没有打印出来,即使它们存在于root的toString()中......有什么想法吗? 最佳答案