Caracter "&" confundindo OMElement

1 resposta
G

Olá,

Tenho que retonar um objeto OMElement só que estou tendo problemas quando a string contém o caracter “&” , me parece que o resto inteiro do resultado é perdido. por acaso alguém ja passou por isso? o que é preciso fazer?

exemplo básico que gera o problema:

public class Test {

	public static void main(String[] args){

		System.out.println(getXMLOMElement("<tag1><tag2>gu&stavo</tag2><tag3>matias</tag3></tag1>"));
		
	}
	
	public static OMElement getXMLOMElement(String xmlString){
		
		ByteArrayInputStream xmlStream = new ByteArrayInputStream(xmlString.getBytes());

		StAXBuilder builder = null;
		try {
			builder = new StAXOMBuilder(xmlStream);
		} catch (XMLStreamException e) {
			logger.error(e.getMessage());
		}

		builder.getDocumentElement();
		
		return builder.getDocumentElement();
	}
}

A saída fica: <tag1><tag2>gu</tag2></tag1>

1 Resposta

E

Troque & por & - um XML não pode ter um & solto assim, como você está tentando fazer.

Para provar o que estou dizendo, copie seu XML “defeituoso” para um arquivo com extensão XML, e tente-o ler com o Internet Explorer ou o FireFox. Ambos irão reclamar que o XML está errado. Se você trocar o & por um & tudo vai se resolver.

Criado 19 de fevereiro de 2010
Ultima resposta 19 de fev. de 2010
Respostas 1
Participantes 2