Я получаю ответ на запрос XML, и мне нужно с ним разобраться. Ответ будет возвращать либо «00», если запрос был принят и учетная запись подтверждена, и «03», если учетная запись недействительна.
В настоящее время Sax Reader возвращает правильную информацию, но я не могу извлечь информацию из считывателя, чтобы сохранить имя пользователя / пароль во внутреннем хранилище телефона.
Код из Sax Reader:
public void inputStreamToString(InputStream is) {
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler() {
boolean errorCode = false;
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
{
System.out.println("Start Element :" + qName);
if (qName.equalsIgnoreCase("ErrorCode"))
{
errorCode = true;
}
}
public void endElement(String uri, String localName,String qName) throws SAXException
{
System.out.println("End Element :" + qName);
}
public void characters(char ch[], int start, int length) throws SAXException
{
if (errorCode)
{
System.out.println("ErrorCode : "+ new String(ch, start, length));
if (ch.equals(00))
{
System.out.println("IT WORKS!!!");
}
errorCode = false;
}
}
};
saxParser.parse(is, handler);
}
catch (Exception e)
{
System.out.println("Sax Error");
e.printStackTrace();
}
}
Как вы можете видеть в открытых пустых символах, он печатает код ошибки, который имеет отношение к ответу. В настоящее время я пытаюсь сделать ch.equals(00)
в операторе If, но он не выбирает правильную информацию! Может быть проблема в том, что ch является типом данных char?
Любая помощь будет оценена.