Может оказаться полезным замечать конец элемента. Например, это может быть сигналом к обработке содержимого элемента. Здесь вы будете использовать его для красивой печати документа с некоторыми отступами, показывающими уровень каждого элемента. Идея состоит в увеличении отступа, когда начинается новый элемент, и в уменьшении его, когда элемент заканчивается:
... int indent = 0;
public void startDocument() throws SAXException { System.out.println("Tallying survey results..."); indent = -4;
} public void printIndent(int indentSize) { for (int s = 0; s < indentSize; s++) { System.out.print(" "); } }
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException { indent = indent + 4; printIndent(indent);
System.out.print("Start element: "); System.out.println(qName); for (int att = 0; att < atts.getLength(); att++) { printIndent(indent + 4);
String attName = atts.getLocalName(att); System.out.println(" " + attName + ": " + atts.getValue(attName)); } } public void endElement(String namespaceURI, String localName, String qName) throws SAXException { printIndent(indent); System.out.println("End Element: "+localName); indent = indent - 4; }
...