Mam plik, który jest w formacie XML (składa się tylko z początkowych i końcowych znaczników root oraz elementów podrzędnych katalogu głównego). Elementy tekstowe dzieci zawierają ampersand symbol &. W XML nie można mieć tego symbolu, aby dokument był ważny, a kiedy próbowałem przetworzyć plik przy użyciu DOM API w Javie i analizatora składni XML, uzyskałem błędy parsowania. Dlatego zastąpiłem & z &
i pomyślnie przetworzyłem plik: musiałem wyodrębnić wartości elementów tekstowych w różnych plikach tekstowych.Znaki specjalne w plikach XML - przetwarzanie przy użyciu DOM API
Gdy otworzyłem te nowo utworzone pliki tekstowe, spodziewałem się zobaczyć &
, ale zamiast tego było &. Dlaczego to? Przechowałem tekst w plikach tekstowych bez żadnego rozszerzenia (mój oryginalny plik w formacie XML również nie miał rozszerzenia .xml), a ja mam tylko & w tekście nowego pliku, bez względu na to, jak otworzę plik: jako plik txt lub xml (są to niektóre opcje w moim edytorze XML). Co dokładnie dzieje się? Czy Java (?) Automatycznie przekształca &
na &? Czy jest jakieś domyślne kodowanie? No cóż, &
oznacza &, i przypuszczam, że istnieje pewne "niewidzialne" automatyczne przekształcenie, ale jestem zdezorientowany, kiedy i jak to się dzieje. Oto przykłady mojego oryginalnego pliku i wyodrębnionego pliku które otrzymują po tym, jak przetwarzane oryginalnego pliku z Java:
To jest moja „negative.review” plik w formacie XML:
<review>
<review_text>
I will not wear it as it is too big & looks funny on me.
</review_text>
</review>
To jest mój wyodrębniony plik „negative_1”:
I will not wear it as it is too big & looks funny on me.
dla mnie ważne jest, aby mieć oryginalne dane, jak to jest (nie robiąc żadnych konwersji/zastępstwa), więc pomyślałem, że muszę przetwarzać wyodrębniony plik „negative_1” konwersja wstecz &
do &. Jak widzisz, wygląda na to, że nie muszę tego robić. Ale nie rozumiem dlaczego :(.
Z góry dziękuję!
Tylko uwaga: "składa się tylko z początkowych i końcowych znaczników roota i dzieci z korzenia". To jest sama definicja XML (jest tylko jeden element główny). – PhiLho
http://stackoverflow.com/questions/4341145/how-to-deal-with-special-characters-in-urls-inside-xml – sandeepKumar