내 응용 프로그램에는 검색 옵션이 있습니다. 사용자가 검색 값을 입력하면 웹 서비스에서 값을 얻어야합니다. 나는 큰 webservice 가치를 얻고있다. 내 webservice에서 문자열 값이오고있다. 나는 < >처럼 XML 문자 엔티티 참조를 좋아합니다. 모든 문자를 바꾸고 xml을 파싱하고 싶습니다. 아무도이 일을하고 어떻게 모범을 보여줄 수 있습니까? 큰 xml 파일을 android에서 구문 분석하십시오.
은 내가 메모리 오류 내가 스트림과 노력public String unescapeXML(String str) {
if (str == null || str.length() == 0)
return "";
StringBuffer buf = new StringBuffer();
int len = str.length();
for (int i = 0; i < len; ++i) {
char c = str.charAt(i);
if (c == '&') {
int pos = str.indexOf(";", i);
if (pos == -1) { // Really evil
buf.append('&');
} else if (str.charAt(i + 1) == '#') {
int val = Integer.parseInt(str.substring(i + 2, pos), 16);
buf.append((char) val);
i = pos;
} else {
String substr = str.substring(i, pos + 1);
if (substr.equals("&"))
buf.append('&');
else if (substr.equals("<"))
buf.append('<');
else if (substr.equals(">"))
buf.append('>');
else if (substr.equals("""))
buf.append('"');
else if (substr.equals("'"))
buf.append('\'');
else if (substr.equals(" "))
buf.append(" ");
else
// ????
buf.append(substr);
i = pos;
}
} else {
buf.append(c);
}
}
return buf.toString();
}
벗어나 려하고, unescapexml 문자 StringBuffer
과 노력, 나는 그것을 할 수 없습니다입니다. 아무도 예제를 줄 수 있습니까?
"네가 직접 파싱하지 말아야하지 않니?" –
예, 수정했습니다. –