Ваш XML не имеет атрибутов .Итак, это:
String str = attributes.getValue("NAME");
System.out.println(str);
... никогда ничего не печатать.
Вы хотите распечатать содержимое элемента NAME, по внешнему видуэтогоТаким образом, вы захотите обработать событие characters
, когда вы в элемент NAME.
Кстати, у вас есть для использования SAX?По моему опыту, это боль в шее по сравнению с использованием DOM-подобной модели (например, с использованием JDOM или другого API - встроенный достаточно болезненный).
Альтернативный подход, если вы контролируете XML, заключается в запуске с использованием атрибутов:
<PERSON NAME="Joe Wang"
EMAIL="joe@yourserver.com"
TELEPHONE="202-999-9999"
WEB="www.java2s.com" />
Тогда вы можете использовать attributes.getValue("NAME")
, когда получитеPERSON
элемент.