powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с парсингом XML
11 сообщений из 11, страница 1 из 1
Проблема с парсингом XML
    #33198205
KoD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
KoD
Гость
Парсю значится я 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
Проблема с парсингом XML
    #33198369
javaScript != java
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
whatta fuck is "list"? m.b. "nl"? check this, pls.
...
Рейтинг: 0 / 0
Проблема с парсингом XML
    #33198391
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще большие документы следует парсить SAX'ом - не будет отжирать
памяти, да и по производительности не так уж и хуже DOM'а.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Проблема с парсингом XML
    #33198432
KoD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
KoD
Гость
Да, перед написанием на форум почистил код и вычистил лишнее.
Вот оригинальный код:
Код: 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
Проблема с парсингом XML
    #33198450
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hint

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

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

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

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

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

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

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

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


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