Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с парсингом XML / 11 сообщений из 11, страница 1 из 1
03.08.2005, 09:53
    #33198205
KoD
KoD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
Парсю значится я XMLку большого размера. И не до конца она парсится. Посмотрел я дебаггером свойства DocumentBuilder db, и нашёл там какой-то буфер, который имеет размеры 16388. Какуправлять его размерами? Или как обойти это ситуацию?

Вот фрагмент кода:
Код: 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.
  Element el;
  Attr nsAttr;
  String attrname, attrval, attrqname;
  NamedNodeMap nnm;
   try  {
     try  {
      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
      DocumentBuilder db = dbf.newDocumentBuilder();
      Document doc = db.parse("file://c:\\testxml1.xml");
      NodeList nl = doc.getElementsByTagName("*");
       for  ( int  j =  0 ; j < list.getLength(); j++) {
        el = (Element) nl.item(j);
        nnm = el.getAttributes();      
         if  (nnm !=  null ) { 
           for  ( int  i= 0 ; i < nnm.getLength (); i++) {
            nsAttr = (Attr) nnm.item(i) ;
            attrname = nsAttr.getLocalName();
            attrqname = nsAttr.getName();
            attrval = nsAttr. getNodeValue ();
            out.println("<br>"+el.getTagName() +" " + attrqname  + " = " +attrval );
          }
        }  
      }
    }
     catch (Exception e) {
      System.out.println(e);
    }
  }
   catch (Exception e) {
    System.out.println(e);
  }

Заранее благодарю
...
Рейтинг: 0 / 0
03.08.2005, 10:35
    #33198369
javaScript != java
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
whatta fuck is "list"? m.b. "nl"? check this, pls.
...
Рейтинг: 0 / 0
03.08.2005, 10:41
    #33198391
riman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
а вообще большие документы следует парсить SAX'ом - не будет отжирать
памяти, да и по производительности не так уж и хуже DOM'а.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
03.08.2005, 10:53
    #33198432
KoD
KoD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
Да, перед написанием на форум почистил код и вычистил лишнее.
Вот оригинальный код:
Код: 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.
  Element ele =  null ;
  NodeList list =  null ;
  Element el;
  Attr nsAttr;
  String attrname, attrval, attrqname;
  NamedNodeMap nnm;
   try  {
     try  {
      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
      DocumentBuilder db = dbf.newDocumentBuilder();
      Document doc = db.parse("file://c:\\testxml1.xml");
      NodeList nl = doc.getElementsByTagName("*");
      ele = (Element) doc.getDocumentElement();
      list = (NodeList) ele.getChildNodes();
       for  ( int  j =  0 ; j < list.getLength(); j++) {
        el = (Element) nl.item(j);
        nnm = el.getAttributes();      
         if  (nnm !=  null ) { 
           for  ( int  i= 0 ; i < nnm.getLength (); i++) {
            nsAttr = (Attr) nnm.item(i) ;
            attrname = nsAttr.getLocalName();
            attrqname = nsAttr.getName();
            attrval = nsAttr. getNodeValue ();
            out.println("<br>"+el.getTagName() +" " + attrqname  + " = " +attrval );
          }
        }  

   
    
      }
    }
     catch (Exception e) {
      System.out.println(e);
    }
  }
   catch (Exception e) {
    System.out.println(e);
  }

...
Рейтинг: 0 / 0
03.08.2005, 10:58
    #33198450
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
Hint

Код: plaintext
1.
      Document doc = db.parse("file://c:\\testxml1.xml");

можно писать прямой слеш:

Код: plaintext
1.
      Document doc = db.parse("file://c:/testxml1.xml");
...
Рейтинг: 0 / 0
03.08.2005, 11:00
    #33198457
javaScript != java
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
list у тебя содержит все дочернии элементы root элемента.
В nl у тебя лежат все элементы документа.

Количество итераций у тебя не равно числу всех элементов.
Что же ты ожидал в итоге увидеть?
...
Рейтинг: 0 / 0
03.08.2005, 11:01
    #33198461
KoD
KoD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
Спасибо, но кто-нибуль ответит, где собака зарыта? Неохота, не разобравшись с DOMом, прыгать на SAX...
...
Рейтинг: 0 / 0
03.08.2005, 11:04
    #33198471
KoD
KoD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
Ой, не заметил последний ответ JavaSript!=Java. Спасибо. Брал пример из Сети....
...
Рейтинг: 0 / 0
03.08.2005, 11:13
    #33198504
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
продолжая тему "hint"ов...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 try  {
    try  {
     ...
   }  catch  (Exception e) {
   }
}  catch  (Exception e) {
}

^^^ Это полный отстой :)
...
Рейтинг: 0 / 0
03.08.2005, 11:17
    #33198526
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
riman
а вообще большие документы следует парсить SAX'ом - не будет отжирать
памяти, да и по производительности не так уж и хуже DOM'а.

Posted via ActualForum NNTP Server 1.2
на самом деле sax в разы быстрее и памяти в разы меньше берет, вот только одно но, на sax в разы труднее парсить чем в dom.
...
Рейтинг: 0 / 0
03.08.2005, 11:43
    #33198634
riman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с парсингом XML
wessenна самом деле sax в разы быстрее и памяти в разы меньше берет,
вот только одно но, на sax в разы труднее парсить чем в dom.
точно? проверял? :)

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с парсингом XML / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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