Potrzebuję do serializacji obiektu XML java do pliku XML za pomocą JAXB Marshaller (JAXB wersja 2.2). Teraz w obiekt XML, mam znacznik, który zawiera String wartość takie, że:Obsługa znaków kontrolnych XML (np. Cytatów) przy użyciu JAXB Marshaller
"<"tagA>
**"<"YYYYY>done"<"/YYYYY>**
"<"/tagA>
Teraz jak widać, że wartość ta zawiera tagów ciąg ponownie. Chcę, aby to było napisane w taki sam sposób w pliku xml.
Ale JAXB naziemnego konwertuje te wartości, takich jak:
"&"lt;YYYYY"&"gt;"&"#xD;done
... & itd
nie jestem w stanie traktować te znaki ewakuacyjne oddzielnie przy użyciu JAXB 2.2 Czy to możliwe, tak czy inaczej?
Każda pomoc w tym zakresie będzie wielki ..
Dzięki z góry, Abhinav Mishra
Czy możesz rozwikłać swoje zastosowanie, aby uciec z charatcer. Nie mogę tego zrobić, gdy właściwość ustawiona jest na Unicode. –
Aby rozwinąć to samo, właśnie ustawiłem właściwość marshaller: marshaller.setProperty ("jaxb.encoding", "Unicode"); marshaller.setProperty (Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.setProperty (CharacterEscapeHandler.class.getName(), new CustomCharacterEscapeHandler()); – javdev
Tutaj, w trzeciej części, jak widzisz, utworzyłem klasę CustomCharacterEscapeHandler, która faktycznie wykonuje obsługę znaków escape. Kod można łatwo znaleźć w Internecie, przeszukując "jak zastąpić metodę escape w CharacterEscapeHandler". Jeśli potrzebujesz kodu, zapytaj mnie .. – javdev