Электронный магазин на Java и XML

         

Метод, который записывает...



Листинг 8.31. Метод, который записывает отдельный элемент из DOM (NewsllpKeep.java)

// write a <Newsitem Element duplicating the attributes public void writeNewsNode(PrintWriter out, Element e) { NamedNodeMap nnm = e.getAttributes();
out.print("<Newsitem " ) ; //timestamp=\"");
int i ; for( i = 0 ; i < nnm.getLength() ; i++ ){ Attr na = (Attr) nnm.item(i);
// Attr extends Node String atr = na.getName();
String val = na.getValue();
out.print( atr );
out.print("=\"");
out.print( val );
out.print("\" ");
} out.println(">
");
NodeList nl = e.getChildNodes();
int ct = nl.getLength();
for( i = 0 ; i < ct ; i++ ){ Node nde = nl.item( i );
if( nde instanceof Element ){ Element ce = (Element)nde; String name = ce.getTagName();
out.print("<" + name + ">
");
NodeList chnl = ce.getChildNodes() ; if( chnl.getLength() == 0 ) continue ; Node chn = chnl.item(0);
if( name.equals("long") || name.equals("short") ){ out.print("<![CDATA[");
out.println( chn.getNodeValue().trim() );
out.print("]]>
");
} else { out.print( chn.getNodeValue() );
} out.println("</" + name + ">
");
} } // loop over <Newsitem>
child nodes out.println("</Newsitem>
");
} }

На основе нашего опыта добавления новых сообщений с помощью сервлета CompanyNewsServ вы можете сначала создать полный текст сообщения в текстовом редакторе, а затем при работе с формой HTML для ввода текста просто вставить его в форму с помощью команд вырезания и вставки.



Содержание раздела