Puis-je imprimer un document XML en utilisant du texte échappé au lieu de sections CDATA? Par exemple, je souhaite que la chaîne de sortie soit <sender>John Smith</sender>
au lieu de <![CDATA[<sender>John Smith</sender>]]>
. MISE À JOUR: Je sais qu'un document XML peut être représenté dans les deux sens sans différence sémantique, mais je veux imprimer la chaîne de sortie à l'écran.En Java, comment imprimer un document XML en utilisant du texte échappé au lieu de sections CDATA?
Voici mon code:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "5");
StringWriter streamWriter = new StringWriter();
StreamResult streamResult = new StreamResult(streamWriter);
DOMSource source = new DOMSource(xml);
transformer.transform(source, streamResult);
return streamWriter.toString();
Et voici la sortie:
<?xml version="1.0" encoding="UTF-8"?>
<VNET>
<ID>1</ID>
<UID>0</UID>
<NAME>ranged</NAME>
<TYPE>0</TYPE>
<BRIDGE>virbr0</BRIDGE>
<PUBLIC>1</PUBLIC>
<TEMPLATE>
<BRIDGE><![CDATA[virbr0]]></BRIDGE>
<NAME><![CDATA[ranged]]></NAME>
<NETWORK_ADDRESS><![CDATA[192.168.0.0]]></NETWORK_ADDRESS>
<NETWORK_SIZE><![CDATA[c]]></NETWORK_SIZE>
<TYPE><![CDATA[ranged]]></TYPE>
</TEMPLATE>
<LEASES/>
</VNET>
Merci beaucoup.
Merci d'avoir répondu. Je sais qu'un document XML peut être représenté dans les deux sens sans aucune différence sémantique, mais je veux imprimer la chaîne de sortie à l'écran. –