Замечательно.Это решение немного смутило меня, и я не смог получить значение для localName, как у вас, но я все же смог заставить работать подход StringBuilder.
Я не заменил в методе:
public void characters(char[] ch, int start, int length) throws SAXException {
tempVal = new String(ch,start,length);
Но вместо этого добавил в метод следующую строку:
tempSB = tempSB.append(new String(ch, start, length));
Где tempSB - объект StringBuilder.Это означало, что мне не нужно было изменять весь мой синтаксический анализатор, и я мог просто переключиться на чтение SB, когда это было необходимо.Когда я пришел к элементу, содержащему html, в startElement я использовал:
tempSB.delete(0, tempSB.length());
И в endElement я использовал:
tempText.setText(tempSB.toString()) ;
Просто так.В моем случае не требуется сложной логической системы, и нет необходимости в доступе к localName, что является концепцией, которая ускользает от меня.Кажется, я просто отлично получаю доступ к qName.
Большое спасибо kcoppock за публикацию найденного вами решения.Я искал часы, и это единственная статья, которую я мог найти краткой и достаточно ясной, чтобы помочь.Задача, над которой я работаю, действительно срочная, и я бы потерпел неудачу без вашей помощи.