0
Transformer tf = TransformerFactory.newInstance().newTransformer();
tf.setOutputProperty(OutputKeys.INDENT, "yes");
tf.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
tf.transform(new StreamSource(reader), new StreamResult(writer));
le code ci-dessus me donne le résultat suivant:Comment faire pour imprimer des attributs XML en Java?
<Response>
<Head>ERROR</Head>
<Body>
<ERROR code="1000" reason="ServerSOAPFaultException" description="Fault occurred while processing."/>
</Body>
</Response>
il ne XML attributs non tiret, mais j'ai besoin des attributs xml-être indenté ainsi:
<Response>
<Head>ERROR</Head>
<Body>
<ERROR code="1000"
reason="ServerSOAPFaultException"
description="Fault occurred while processing."/>
</Body>
</Response>
Comment fais le?
Pourriez-vous fournir un exemple de code? –
Saxon prend en charge l'interface JAXP, ce qui vous permet d'utiliser essentiellement le code que vous avez déjà. Il suffit de placer Saxon sur le chemin de la classe. –
J'ai ajouté [dépendance Saxon-HE] (https://mvnrepository.com/artifact/net.sf.saxon/Saxon-HE/9.7.0-15) à mon projet et il a commencé attributs indenter, mais il ne fonctionne pour les éléments contenant de nombreux attributs, et ne fonctionne pas pour les éléments contenant seulement 3-4 attributs. Pourriez-vous expliquer comment définir une petite valeur pour la propriété saxon: line-length? Essayez –