Ho bisogno di serializzare un oggetto java XML in un file XML utilizzando JAXB Marshaller (JAXB versione 2.2). Ora nell'oggetto XML, ho un tag che contiene valore stringa tale che:Gestione di caratteri di escape XML (ad es. Virgolette) utilizzando JAXB Marshaller
"<"tagA>
**"<"YYYYY>done"<"/YYYYY>**
"<"/tagA>
Ora, come si può vedere che questo valore di stringa contiene di nuovo tag. Voglio che questo sia scritto nello stesso modo nel file xml.
Ma JAXB Marshaller converte questi valori quali:
"&"lt;YYYYY"&"gt;"&"#xD;done
... & così via
io non sono in grado di trattare questi caratteri di escape separatamente utilizzando JAXB 2.2 E 'possibile in ogni modo?
Qualsiasi aiuto in questo senso sarà grande ..
Grazie in anticipo, Abhinav Mishra
puoi per favore approfondire il tuo utilizzo per sfuggire al personaggio. Non sono in grado di farlo con jus la proprietà impostata su unicode. –
Per elaborare lo stesso, avevo appena impostato la seguente proprietà sul marshaller: marshaller.setProperty ("jaxb.encoding", "Unicode"); marshaller.setProperty (Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.setProperty (CharacterEscapeHandler.class.getName(), new CustomCharacterEscapeHandler()); – javdev
Qui nella terza affermazione, come potete vedere, ho creato una classe CustomCharacterEscapeHandler che sta effettivamente gestendo il carattere di escape. Puoi trovare facilmente il suo codice in rete cercando "come sovrascrivere il metodo di escape di CharacterEscapeHandler". Nel caso abbiate bisogno del codice, chiedetelo .. – javdev