Русский учебник по XML


9. DOM СОВМЕСТИМЫЕ АНАЛИЗАТОРЫ - часть 5


try { // Вывод содержимого viewLog("error"); } catch (Exception e) { System.out.println(e.toString()); } // Footer viewAsHTML();

}

/* Рекурсивный обход элементов, у которых атрибут type равен заданному. */

public int viewLog(String type){

int i=0; int elemNum=0; int messageCount=0; Element elem; NodeList elements;

elements = xmldoc.getElementsByTagName("event"); if(elements==null) System.out.println("Empty element collection");

elemNum = elements.getLength();

if (type == null) {

for (i = 0; i < elemNum; i++) { if(elements.item(i)==null) System.out.println("Empty element"); viewLogMessage((Element)elements.item(i)); } messageCount=elemNum;

} else { for (i = 0; i < elemNum; i++) { elem = (Element)elements.item(i);

if(elem.getAttribute("type")==type){ messageCount++; viewLogMessage(elem); }

} } return messageCount; }

/* Печать заголовка таблицы */

public void viewAsHTML(String title){ out.println("<html>"); out.println("<head><title>Log parser sample</title></head>"); out.println("<body><br><b>"+title+"</b><hr>"); out.println("<table cellspacing=\"2\" cellpadding=\"2\" border=\"1\" width=\"600\">"); out.println("<tr bgcolor=\"silver\"><th>IP</th><th>Date</th><th>Method</th><th>Request</th><th>Response</th></tr>"); }

/* Печать комментариев к таблице */

public void viewAsHTML(){ Date d = new Date(); String date = new String(""+d.getHours()+":"+d.getMinutes()+":"+d.getSeconds()); out.println("</table><hr>generated by logParser at <i>"+date+"</i><br></body></html>"); out.flush(); }

/* Форматированный вывод содержимого элемента event */

public void viewLogMessage(Element elem){




- Начало -  - Назад -  - Вперед -