草庐IT

groovy-all

全部标签

xml - 如何使用 Groovy MarkupBuilder 插入 xml 注释?

我想使用GroovyMarkupBuilder将注释插入到我的xml文档中。怎么可能? 最佳答案 你可以像这样使用mkp.comment:defwriter=newStringWriter()defbuilder=newgroovy.xml.MarkupBuilder(writer)builder.cars{mkp.comment"Acomment"ford(type:'escort')ford(type:'fiesta')}printlnwriter打印:mkp.XXX方法是describedhere

xml - 如何在 Groovy 中通过标签名称查找所有 XML 元素?

我如何通过Groovy(GPath)中的标签名称找到XML中的所有元素?我需要在这个文档中找到所有的car元素:378932audi这是我尝试过但失败了的:defxml=newXmlSlurper().parse(file)assertxml.car.size()==2 最佳答案 它是这样工作的:defxml=newXmlSlurper().parse(file)defcars=xml.depthFirst().findAll{it.name()=='car'}assertcars.size()==2

xml - 在 Groovy 中加载、修改和编写 XML 文档

我有一个XML文档,我想从文件中加载它,修改一些特定元素,然后写回磁盘。我找不到任何有关如何在Groovy中执行此操作的示例。 最佳答案 您可以只修改节点的value属性来修改元素的值。/*input:testtest*/defxmlFile="/tmp/test.xml"defxml=newXmlParser().parse(xmlFile)xml.foo[0].each{it.@id="test2"it.value="test2"}newXmlNodePrinter(newPrintWriter(newFileWriter(xm

xml - Groovy XML MarkupBuilder 不创建根 <?xml .... ?>

我正在使用XMLMarkupBuilder生成XML文件importgroovy.xml.StreamingMarkupBuilderimportgroovy.xml.MarkupBuilderimportorg.custommonkey.xmlunit.*....defxmlObj=newStringWriter()defxml=newMarkupBuilder(xmlObj)xml.book("id":21){name('bookname')}我得到了输出:bookname如何让它也生成根xml标记? 最佳答案 您也可以使用Ma

xml - Groovy - 如何退出每个循环?

我是Grails/Groovy的新手,正在尝试在xml文件中查找节点;我已经想出如何遍历所有这些,但我想在找到目标节点时退出循环。我读过,而不是使用“每个”,使用“查找”,但我看到的查找示例是条件。现在我的逻辑是在不退出的情况下遍历整个文件。代码如下:records.children().each{domain->println"domain_name:"+domain.@domain_nameif(domain.@domain_name==targetDomain){println"targetdomainmatched:"+domain.@domain_namedomain.chi

xml - 我如何使用 Groovy 的 XmlSlurper 检查元素是否存在?

我正在尝试确定XML元素是否存在于Groovy的XmlSlurper中。有没有办法做到这一点?例如:如何判断bar元素是否存在? 最佳答案 API有点古怪,但我认为有一些更好的方法来寻找child。当您要求“xml.bar”(存在)或不存在的“xml.quux”时,您得到的是groovy.util.slurpersupport.NodeChildren目的。基本上是满足您要求的标准的节点集合。查看特定节点是否存在的一种方法是检查NodeChildren的大小是否为预期大小:deftext=""defxml=newXmlSlurper

xml - <xsd :all> and <xsd:sequence> in schema definition? 之间的区别

我在复杂类型中使用xsd:all。当我在验证时错过任何强制性元素时,它将显示所有元素。它不会显示确切的遗漏元素。但如果我使用xsd:sequence,我可以获得确切的遗漏元素。这两者有什么区别吗?xsd:sequence:XML元素的顺序必须相同。但是xsd:all:XML元素可能是任何顺序。 最佳答案 指定子元素可以以任何顺序出现。指定子元素只能按照提到的顺序出现。序列示例:如果您从这个xsd创建一个XML,它将看起来像这样:FirstSecondThirdFourth所有示例:如果您从这个xsd创建一个XML文件,那么它可能看起

xml - Groovy XmlSlurper 与 XmlParser

我在这个主题上搜索了一段时间,也找到了一些结果,我在文章末尾提到了这些结果。谁能帮我准确回答下面列出的这三个问题?对于哪些用例,使用XmlSluper比XmlParser更有意义,反之亦然(从API/语法的易用性角度来看)?哪个内存效率更高?(看起来像Slurper)哪个处理xml的速度更快?案例一。当我必须读取xml中的几乎所有节点时?案例b。当我只需要读取几个节点时(比如使用gpath表达式)?案例c。什么时候必须更新/转换xml?前提是xml文件不是普通文件(具有xml的深度和大小级别)。资源:http://www.tutkiun.com/2009/10/xmlparser-an

windows - 批处理文件 : Copy files to all subfolders

我正在尝试将3个文件复制到文件夹A1的所有子文件夹中。我试过这样的事情:for%%vin(A1/*.*)do(COPYcommand.batA1\%%vCOPYCUS.jarA1\%%vCOPYinput.txtA1\%%v)但是,看起来这个%%v只对文件起作用,对子目录不起作用...:-(有人可以帮忙吗? 最佳答案 试试这个:for/f%%vin('dir"path_to_A1"/AD/B/ON')do( 关于windows-批处理文件:Copyfilestoallsubfolders

windows - 如何使用 groovy 脚本为现有的 Jenkins 作业添加执行批处理命令

我有100多个Jenkin作业。但是我有一个新要求,我必须在不删除/干扰现有配置的情况下为所有作业包含额外的Windows批处理命令。有什么方法可以将新的执行命令注入(inject)到jenkinsmaster中的所有作业中。有人能解释一下吗提前致谢!! 最佳答案 首先,请注意,这些脚本会修改正在运行的Jenkins实例中的底层结构,在执行此操作之前先进行备份!您可以在“管理Jenkins”下的“脚本控制台”中执行以下脚本(您需要管理员权限)以下脚本插入批处理命令作为所有自由样式作业的第一步:importjava.util.Arra