草庐IT

groovy-all

全部标签

xml - Groovy:将 XML 元素从一个文档复制到另一个文档

我是Groovy的新手,遇到了一个简单的问题。我想做的就是从一个XML文件中提取某些元素并用它创建一个新文件。这是一个示例XML,让我们使用Mavenpom文件:4.0.0com.groupartifact1.4junitjunit4.8.2test我知道如何在Groovy中解析XML:defproject=newXmlParser().parse("pom.xml")project.groupId.each{printlnit.text()}我也知道如何在Groovy中创建XML:defxml=newgroovy.xml.MarkupBuilder()xml.project(){mo

要在 Groovy 中映射的 XML 元素。使用 XMLSluper

我想在GroovyMap中转换我的xml元素配置,以便将所有conf元素放入表单中Map>其中String是conf-s元素的名称,在valueMap中还有当前conf元素ex的另一个属性。map[0]={one,[visivility:public,description:Configurationone.]尝试使用groovy语法和XMLSluper的最快方法是什么。PSconf-s元素中的属性个数未知 最佳答案 你能试试吗(我不在电脑前验证):newXmlSlurper().parseText(xml).configurati

xml - Groovy MarkupBuilder 节点

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

xml - 使用 <xs :all> in XML schema's complexType?

我定义了以下XMLcomplexType:和:但是,在验证时,我收到一条错误消息,指出losscomplexType及其扩展中不允许使用all模型组propLoss定义。我做错了什么?谢谢! 最佳答案 propLoss的一个问题是您无法在XMLSchema(1.0)中扩展all组。来自规范:Note:Thisspecificationallowsonlyappending,andnototherkindsofextensions.Thisdecisionsimplifiesapplicationprocessingrequiredt

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即