草庐IT

groovy-all

全部标签

xml - 如何使用 Groovy 的 XMLSlurper 和 GPathResult 从节点中删除属性?

我需要从一些已解析的HTML(转换为XML)中的正文节点中删除属性。 最佳答案 在包含属性的元素上调用attributes(),然后调用remove('attrname'),如下所示。attributes().remove('attrname')您可以在此处阅读更多详细信息。 关于xml-如何使用Groovy的XMLSlurper和GPathResult从节点中删除属性?,我们在StackOverflow上找到一个类似的问题: https://stackove

xml - Groovy - XmlSlurper - 将属性读入 map

创建包含属性作为键和相应值的映射的最佳方法是什么?谢谢。 最佳答案 给定:defxml=''你可以简单地做:defattrmap=newXmlSlurper().parseText(xml).attributes() 关于xml-Groovy-XmlSlurper-将属性读入map,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/23391776/

xml - Groovy编辑XML文件,保留注释、换行

我想编辑现有的XML文件,同时保留其原始布局。这包括换行、注释等。编辑包括在XML中查找元素和修改文本值。我的第一次尝试是将XMLParser与XmlUtil.serialize一起使用,但这不符合要求。任何人都知道XMLParser的任何替代方案,其中编辑是“就地”原始XML字符串?如果没有,也许有一个库可以使用XPath/GPath执行搜索并只返回找到的位置,这样我就可以执行StringBuilder.replace。编辑:现在我做了这个函数,找到XML节点的字符串索引(我可以使用xpath找到)然后我在索引上进行替换。适用于简单节点值:deffind_location_by_no

xml - 在 Groovy 中将 XML 转换为 JSON

我希望使用groovy将xml转换为JSON。我知道转换的细节取决于我的喜好,但是有人可以推荐我应该使用哪些库和方法,并向我提供一些关于为什么/如何使用它们的信息吗?我正在使用groovy,因为有人告诉我它是一个非常有效的解析器,所以我正在寻找可以利用它的库谢谢! 最佳答案 您可以使用基本的Groovy完成这一切://GivenanXMLstringdefxml='''|Tim|Tom|'''.stripMargin()//Parseitdefparsed=newXmlParser().parseText(xml)//Convert

xml - 向 groovy MarkupBuilder 或 StreamingMarkupBuilder 添加动态元素和属性

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。我见过很多使用Groovy的MarkupBuilder构建XML文档的示例,但它们似乎都对文档中的每个元素使用静态属性(属性名称在编译时都是已知的).如果我试图构建一个属性名称直到运行时才知道的XML文档怎么办?我还没有想出解决这样的问题所需的语法。

xml - Groovy XmlSlurper 访问根节点中的属性值

我正在尝试使用Groovy和XmlSlurper来完成对属于根节点的属性的访问。我可以使用嵌套节点轻松完成此操作,但似乎无法访问根节点。这是XML结构(简化):我希望能够获得lines-covered和lines-valid属性值。这是我正在尝试的代码:defcobertura=newXmlSlurper().parse(xml)defcoverage=cobertura.coveragedeflines=cobertura.find{it.@lines-covered}printlnlines我也试过:defcobertura=newXmlSlurper().parse("cober

xml - Groovys XmlSlurper 中的命名空间处理

情况:defstr="""sudomakemeasandwich!"""defxml=newXmlSlurper().parseText(str)printlnxml.bar这段代码的输出是#sudomakemeasandwich!解析器似乎合并了的内容和.是否需要这种行为?如果是,我如何避免这种情况并仅选择或? 最佳答案 默认情况下,XMLSlurper不支持命名空间。这可以通过使用declareNamespace声明命名空间来打开Method.defstr="""sudomakemeasandwich!"""defxml=new

xml - Groovy XmlSlurper : Find elements in XML structure

假设有以下XML结构:Field#11Field#22Field#33使用Groovy的XmlSlurper我需要执行以下操作:从Data开始找到包含值Field#1的元素在元素。如果找到则获取对应的值属于同一级别。 最佳答案 如果DataFieldName在文件中是唯一的:printlnnewXmlSlurper().parseText(xml).DataFieldText.find{it.DataFieldName=="Field#1"}.DataFieldValue.text()如果不是,并且您想获得一个包含所有匹配的Data

xml - 如何使用 Groovy 在 xml 中插入/移动/删除节点?

例如,我有以下xml文档:defCAR_RECORDS=''''''我想将汽车“Royale”移到第一辆,并在汽车“HSVMaloo”之后插入一辆新汽车,结果将是:''''''如何使用Groovy做到这一点?欢迎评论。 最佳答案 我采用了与danb类似的方法,但在实际打印生成的XML时遇到了问题。然后我意识到,通过向根询问所有它的“汽车”child而返回的NodeList与您通过询问根的child得到的列表不同。即使在这种情况下它们恰好是相同的列表,但如果根目录下有非“汽车”子级,它们就不会总是这样。因此,重新排序查询返回的汽车列表

xml - 使用 groovy 更新 xml 文件时保留格式

我有大量包含URL的XML文件。我正在编写一个groovy实用程序来查找每个URL并将其替换为更新版本。给定example.xml:/some/old/url/some/old/url/a/different/old/url?with=specialChars&escaped=true脚本运行后,example.xml应包含:/a/new/and/improved/url/a/new/and/improved/url/a/different/new/and/improved/url?with=specialChars&stillEscaped=true使用groovy出