Zapisywanie do xml w JDom

0

Mam następujący problem:

Kiedy tworzę strukturę xml wpisuje nagłówek <?xml version="1.0" encoding="iso-8859-2" ?> żeby przy wczytywaniu wczytało mi polskie znaki z atrybutów. Wczytywanie dziala poprawnie, jednak kiedy chce dopisać coś do tego pliku xml, to w całym dokumencie zamienia mi się nagłówek na <?xml version="1.0" encoding="UTF-8" ?> i przy kolejnym wczytaniu wywala bląd, ze nie rozpoznaje znaków. Czy można ustawić kodowanie dokumentu przy zapisie do pliku w JDomie? Z góry dzięki za pomoc.

0

A nie moze byc UTF-8 od poczatku? On tez daje rade z polskimi znakami, i w sumie to jest taki de-facto standard w kodowaniu xml, jest przenosny itp.

0

Nie wiem dlaczego, ale UTF-8 nie czyta mi właśnie polskich znaków. Może tu chodzi o parsowanie przez JDoma.

0

Masz konstruktor XMLOutputter, który przyjmuje jako parametr obiekt Format. Na obiekcie format ustawia się kodowanie.

0

Ustawiłem odpowiednie kodowanie w Formacie i działa. Dzięki za podpowiedz :-)

0

Jest jeszcze taki problem, że po wczytaniu polskich znaków z xmla i wpisaniu tego tekstu np w JTextField wyświetla mi zamiast "Ś" jakieś kwadraciki. Czy jest sposób żeby temu zaradzić?

0

W klasie String jest metoda
getBytes(String charsetName)
i konstruktor
String(byte[] bytes, String charsetName)
Jak się to połączy, to można zmienić kodowanie odczytanego tekstu. Pytanie jest tylko na jakie zamienić? Ja bym spróbował najpierw na UTF-8 zmienić. Jak korzystałem z JDOM w Swing na plikach w UTF-8 to nic nie musiałem konwertować, więc powinno być dobrze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1