我的 Android 应用程序正在调用 .NET Web 方法,它返回一个字符串。我正在使用 saxparser 解析单个字符串,例如:
<string xmlns="http://tempuri.org/">LOCAL NT AUTHORITY\NTLM Authentication Not in role Administrators</string>
和 characters() 函数在我的数据处理程序中:
public void characters(char ch[], int start, int length) {
String chars = new String(ch, start, length);
Log.v("characters", chars);
chars = chars.trim();
if (_inItem) {
_data = chars;
}
}
我的问题是,当我使用 webserver 1 测试它时,它工作正常,但使用 webserver 2 它返回空字符串。
使用 webserver 1,我看到 characters() 函数只被调用一次,它返回整个字符串“LOCAL NT AUTHORITY\NTLM Authentication Not in role Administrators”。完美的!
但是对于 webserver 2,charaters() 函数被多次调用,它最终返回空字符串..?
04-20 10:09:43.161: VERBOSE/characters(405): LOCAL
04-20 10:09:43.161: VERBOSE/characters(405): NT AUTHORITY\NTLM Authentication
04-20 10:09:43.161: VERBOSE/characters(405): Not in role Administrators
04-20 10:09:43.250: VERBOSE/endElement(405): string=0
是关于处理空间吗?这里发生了什么事?
我最终改变了 characters() 函数:
public void characters(char ch[], int start, int length) {
String chars = new String(ch, start, length);
if (_inItem) {
_data += chars;
}
}