首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle groovy如何在XML解析器中保留注释和所有格式

Gradle groovy如何在XML解析器中保留注释和所有格式
EN

Stack Overflow用户
提问于 2017-07-11 22:35:03
回答 1查看 649关注 0票数 0

Gradle使用groovy XML解析器解析XML文件,例如,

代码语言:javascript
复制
<foo id="3">
    <!-- this is bar -->
    <bar id="5"
         attr1="10">
         attr2="20">
         <hello>world</hello>
    </bar>
<foo>

解析xml并将其写出来:

代码语言:javascript
复制
def root = new XmlParser().parse(new FileInputStream("/foo.xml"))
// add some nodes
groovy.xml.XmlUtil.serialize(root, new FileOutputStream("/bar.xml"))

所有的注释和换行符都消失了。如何使用groovy XML解析器保存注释和所有其他格式?

我看过这个:Groovy edit XML file, keep comments, line breaks

如何导入groovy.xml.*?groovy在gradle中无法识别。

EN

回答 1

Stack Overflow用户

发布于 2017-07-11 23:49:05

你应该使用jdom2,它会解决你的问题

首先,在build.gradle文件中设置依赖项

代码语言:javascript
复制
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.jdom:jdom2:2.0.6'
    }
}

然后使用这个修改过的代码片段:

代码语言:javascript
复制
def root = new org.jdom2.input.SAXBuilder().build(new FileInputStream("/tmp/foo.xml"))
// add some nodes
new org.jdom2.output.XMLOutputter().with {
    format = org.jdom2.output.Format.getRawFormat()
    format.setLineSeparator(org.jdom2.output.LineSeparator.NONE)
    output(root, new FileOutputStream("/tmp/bar.xml"))
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45037594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档