powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Получение атрибутов и вложенных тегов в HTML-документе
2 сообщений из 2, страница 1 из 1
Получение атрибутов и вложенных тегов в HTML-документе
    #33841293
Grelloo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема следующяя:
имеется произвольный HTML-документ, из которого требуется извлечь тег <A>, затем его
атрибуты и в зависимости от них обрабобтать вложенный тег <IMG>
Пока что у меня получилось следующее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
m_doc = (HTMLDocument) m_kit.createDefaultDocument();
        //Получение атрибутов тега <A>
        HTMLDocument.Iterator it = m_doc.getIterator(HTML.Tag.A);
         for  (; it.isValid(); it.next()){
            AttributeSet attrs = it.getAttributes();
            Object linkAttr = attrs.getAttribute(HTML.Attribute.HREF);
            System.out.println(linkAttr);
        }
        
        //Получение атрибутов тега <IMG>
        ElementIterator elit =  new  ElementIterator(m_doc);
        Element elem;
         while  ((elem = elit.next()) !=  null ) {
             if  (elem.getName().equals("img")) {
                System.out.println(elit.next().getDocument().getDefaultRootElement());
                AttributeSet attrs2 = elem.getAttributes();
                Object scr = attrs2.getAttribute(HTML.Attribute.SRC);
                System.out.println(scr);
            }
При этом взять child у A или parent у IMG не получиться. Пробовал методами getElement, но в этом случае вместо тега A вылезает
p-implied и получить у него атрибуты не удается.
...
Рейтинг: 0 / 0
Получение атрибутов и вложенных тегов в HTML-документе
    #33845303
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
test.html

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<html>
<head>
<title></title>
</head>
<body>
<a href="page1.html" target="_blank"><img src="/img/img1.jpg" width="100" height="50" alt="" /></a><br />
<a href="page2.html" target="_blank"><img src="/img/img2.jpg" width="100" height="50" alt="" /></a><br />
<a href="page3.html" target="_blank"><img src="/img/img3.jpg" width="100" height="50" alt="" /></a>
</body>
</html>


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
 package  parse_html;

 import  org.w3c.dom.NodeList;
 import  org.w3c.tidy.Tidy;
 import  org.w3c.dom.Document;
 import  java.io.FileInputStream;
 import  java.io.File;
 import  java.io.FileNotFoundException;
 import  org.w3c.dom.NamedNodeMap;
 import  org.w3c.dom.Node;

 public   class  Parse_html {
     public  Parse_html() {
    }

     public   static   void  main(String[] args) {
        
        Tidy tidy =  new  Tidy();
        Document doc =  null ;
         try  {
            doc = tidy.parseDOM( new  FileInputStream( new  File("test.html")),  null );
            
            NodeList links = doc.getElementsByTagName("a");
            
             for  ( int  i= 0 ; i<links.getLength(); i++) {

                System.out.println(links.item(i).getNodeName());

                NamedNodeMap a_attr = links.item(i).getAttributes();
                
                 for  ( int  j= 0 ; j<a_attr.getLength(); j++) {
                    System.out.println(a_attr.item(j).getNodeName() + " : " + a_attr.item(j).getNodeValue());
                }
                
                Node img = links.item(i).getFirstChild();
                
                System.out.println(img.getNodeName());
                
                NamedNodeMap img_attr = img.getAttributes();
                
                 for  ( int  j= 0 ; j<img_attr.getLength(); j++) {
                    System.out.println(img_attr.item(j).getNodeName() + " : " + img_attr.item(j).getNodeValue());
                }                
            }
            
        }  catch  (FileNotFoundException ex) {
            ex.printStackTrace();
        }
    }
}
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Получение атрибутов и вложенных тегов в HTML-документе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]