在android中解析大xml文件
在我的应用程序中有一个搜索选项。如果用户输入搜索值,我必须从Web服务获取一个值。我得到了很大的Web服务价值。在我的webservice中,字符串值即将出现。我越来越喜欢xml字符实体引用。我想替换所有字符并解析xml。有谁能告诉我怎么做并举个例子吗 我尝试使用在android中解析大xml文件,android,Android,在我的应用程序中有一个搜索选项。如果用户输入搜索值,我必须从Web服务获取一个值。我得到了很大的Web服务价值。在我的webservice中,字符串值即将出现。我越来越喜欢xml字符实体引用。我想替换所有字符并解析xml。有谁能告诉我怎么做并举个例子吗 我尝试使用StringBuffer作为unescapexml字符,内存不足错误 public String unescapeXML(String str) { if (str == null || str.length() ==
StringBuffer
作为unescapexml字符,内存不足错误
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(字符串str){
如果(str==null | | str.length()==0)
返回“”;
StringBuffer buf=新的StringBuffer();
int len=str.length();
对于(int i=0;i
我试过用stream,但我做不到。有人能举个例子说明如何做到这一点吗?你不应该自己解析它。还有更好的方法——SAX或DOM。
本资源包含大量关于这两种方法的有用信息(以及代码示例):您不应该自己解析它。还有更好的方法——SAX或DOM。
本资源包含了大量关于这两种方法的有用信息(以及代码示例):请查看此处,以获取有关包含android的解析器的更多详细信息:
但在您的情况下,使用SAX创建自己的解析器可能是最好的选择;) 看看这里,了解更多关于android内置解析器的详细信息: 但在您的情况下,使用SAX创建自己的解析器可能是最好的选择;) 你的意思是“不应该自己解析它”?你的意思是“不应该自己解析它”?