Tôi cần phải tuần tự hóa một đối tượng java XML vào một tệp XML bằng cách sử dụng JAXB Marshaller (JAXB phiên bản 2.2). Bây giờ trong đối tượng xml, tôi có một thẻ chứa String value ví dụ rằng:Xử lý các ký tự thoát XML (ví dụ: dấu ngoặc kép) bằng cách sử dụng JAXB Marshaller
"<"tagA>
**"<"YYYYY>done"<"/YYYYY>**
"<"/tagA>
Bây giờ khi bạn có thể thấy rằng giá trị chuỗi này một lần nữa có chứa các thẻ. Tôi muốn điều này được viết theo cách tương tự trong tệp xml.
Nhưng JAXB marshaller chuyển đổi các giá trị như:
"&"lt;YYYYY"&"gt;"&"#xD;done
... & vân vân
tôi không thể để điều trị những nhân vật này thoát riêng biệt sử dụng JAXB 2.2 Có thể anyways?
Bất kỳ sự giúp đỡ trong vấn đề này sẽ là tuyệt vời ..
Cảm ơn trước, Abhinav Mishra
bạn có thể vui lòng giải thích về cách sử dụng của bạn để thoát khỏi charatcer. Tôi không thể làm điều đó với jus các tài sản thiết lập để unicode. –
Để xây dựng tương tự, tôi vừa đặt thuộc tính sau cho trình soạn thảo: marshaller.setProperty ("jaxb.encoding", "Unicode"); marshaller.setProperty (Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.setProperty (CharacterEscapeHandler.class.getName(), new CustomCharacterEscapeHandler()); – javdev
Ở đây trong câu lệnh thứ ba như bạn có thể thấy tôi đã tạo ra một lớp CustomCharacterEscapeHandler mà thực sự đang thực hiện xử lý ký tự thoát. Bạn có thể tìm mã của nó dễ dàng trên mạng bằng cách tìm kiếm 'cách ghi đè phương thức thoát của CharacterEscapeHandler'. Trong trường hợp bạn cần mã, hãy hỏi tôi .. – javdev