2017-07-11 1 views
0

Gradle analyser un fichier XML à l'aide parseur XML groovy, par exemple,Gradle groovy comment garder les commentaires et tous les formats dans parseur XML

<foo id="3"> 
    <!-- this is bar --> 
    <bar id="5" 
     attr1="10"> 
     attr2="20"> 
     <hello>world</hello> 
    </bar> 
<foo> 

Parse le xml et l'écrire:

def root = new XmlParser().parse(new FileInputStream("/foo.xml")) 
// add some nodes 
groovy.xml.XmlUtil.serialize(root, new FileOutputStream("/bar.xml")) 

Tous les commentaires et les coupures de ligne ont disparu. Comment conserver les commentaires et tous les autres formats avec l'analyseur XML groovy?

J'ai regardé ceci: Groovy edit XML file, keep comments, line breaks

Comment importer groovy.xml *.? groovy n'est pas reconnu en gradle.

Répondre

0

Vous devez utiliser jdom2, il résoudra votre problème

Tout d'abord, la configuration de la dépendance dans votre build.gradle fichier

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'org.jdom:jdom2:2.0.6' 
    } 
} 

Utilisez ensuite cet extrait modifié:

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

Je voudrais essayez d'abord l'API xml et l'API XML groovy de Java. Merci. – eastwater