Estou utilizando a DOM para gerar XML, o problema é que quando o valor do elemento contem “<”, “>”, “&”, “”" e “’” os caracters são gerados da
seguinte forma “<”, “>”, “&”, “”" e “’”. Gostaria que o resultado fosse “<”, “>”, “&”, “”" e “’”.
Exemplo de codigo:
public static void main(String[] args) throws ParserConfigurationException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document ret = builder.newDocument();
Element root = ret.createElement("root");
ret.appendChild(root);
Element element = ret.createElement("element");
element.setTextContent("< > & \" \'");
root.appendChild(element);
elementToStream(root);
}
public static void elementToStream(Element element) {
try {
DOMSource source = new DOMSource(element);
StreamResult result = new StreamResult(System.out);
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer();
transformer.transform(source, result);
} catch (Exception ex) {
}
}
A Saida é :
<?xml version="1.0" encoding="UTF-8"?><root><element>< > & " '</element></root>
Obrigado.
Guilherme Freitas