Специальный символ HTML (& # 39; -> quot) в файле XML - PullRequest
0 голосов
/ 10 мая 2011

Я получил "& # 39;" в моем XML-файле.(это код символа для квоты в HTML)

EX:

blabla bla & # 39 ;бла бла ла.

Когда я анализирую его с помощью String tmp = itemOfEvent.getFirstChild().getNodeValue(), перед отправкой я обрезаю текст.

У меня вылетает с URL.encode(tmp, "UTF-8")

Лучшая идея?

Ответы [ 3 ]

2 голосов
/ 10 мая 2011

Вы говорите, что текст в кодировке HTML, поэтому попробуйте это:

String fixedTmp = Html.fromHtml(tmp).toString();
1 голос
/ 11 мая 2011

Лучшее решение, которое я нашел, - заменить плохой символ

xmlString = xmlString.replaceAll(" & #39;", " \ ' ");
0 голосов
/ 10 мая 2011

Я полагаю, вы анализируете файл XML с помощью SAXParser? В этом случае, обратите внимание, что метод «characters ()» можно вызывать несколько раз при синтаксическом анализе одного элемента (как это происходит в вашем случае). Попробуйте это:

private StringBuilder temp_val;
public void characters(char[] ch, int start, int length){
    temp_val.append(ch, start, length);
}
...