2011-11-10 2 views
2

XML non formaté est un problème dans notre construction. Je voudrais inclure la vérification de style pour les documents XML, principalement à la recherche d'une mauvaise indentation.Comment effectuer une vérification de style XML?

Quel est le meilleur outil à utiliser? (La construction utilise Ant).

Répondre

1

Vous pouvez écrire une classe qui transformera automatiquement et indentera votre XML. Ensuite, spécifiez simplement dans Ant sur quels fichiers XML il doit être exécuté.

Quelque chose pour vous lancer:

String filePath = "test.xml"; 
String outputFilePath = "testOut.xml"; 

File xmlFile = new File(filePath); 
File outputXmlFile = new File(outputFilePath); 

Transformer transformer = TransformerFactory.newInstance().newTransformer(); 

transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "3"); 

StreamSource ss = new StreamSource(xmlFile); 
StreamResult sr = new StreamResult(outputXmlFile);  

transformer.transform(ss, sr); 
+1

Merci +1 - cependant, je veux vérifier le formatage, plutôt que de reformater. Certes, je pourrais utiliser la même approche (écrire quelque chose pour vérifier diff formaté == original), mais je cherchais quelque chose qui existe déjà - comme une méthode d'utilisation de checkstyle pour xml ou quelque chose. – Synesso

0

Vérifiez XCOP: http://www.yegor256.com/2017/08/29/xcop.html

Voici comment vous intégrez avec fourmi:

<project> 
    <target name="xcop"> 
    <apply executable="xcop" failonerror="true"> 
     <fileset dir="."> 
     <include name="**/*.xml"/> 
     <include name="**/*.xsd"/> 
     <exclude name="target/**/*"/> 
     <exclude name=".idea/**/*"/> 
     </fileset> 
    </apply> 
    </target> 
</project> 
Questions connexes