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

         

Методы extractName...



Листинг 6.19. Методы extractName, extractAuthors и extractArtists (Product.java)

private void extractName( Element productElement ) { name = Util.extractTextFrom( "name", productElement );
} private void extractAuthors( Element productElement ) { NodeList authorList = productElement.getElementsByTagName( "author" );
for( int i = 0; i < authorList.getLength();
i++ ) { Element author = (Element)authorList.item(i);
addAuthor( Util.extractTextFrom( "name", author ) );
} } private void extractArtists( Element productElement ) { NodeList authorList = productElement.getElementsByTagName( "artist" );
for( int i = 0; i < authorList.getLength();
i++ ) { Element author = (Element)authorList.item(i);
addArtist( Util.extractTextFrom( "name", author ) );
} }

Теперь мы перейдем к рассмотрению метода extractDescription. Он приведен в листинге 6.20. Этот метод получает элемент description из элемента product. Поскольку в интерфейсе API модели DOM не предусмотрена возможность получения только одного элемента с определенным именем, требуется метод getEle- mentsByTagName, который возвращает коллекцию узлов. Затем нужно проверить длину этой коллекции. Если эта длина больше нуля, в ней имеется элемент description. В таком случае нужно извлечь первый подходящий элемент, поскольку элемент description в коллекции только один. Наконец, мы используем служебный метод extractMarkupAsText для того, чтобы получить содержимое элемента description.



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