| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Как обработать xml с помощью SAX |
| Автор: IUser 13.12.2007, 12:12 | ||
Есть XML файл, часть кода читается, а часть нет, вот сам файл
Добавлено через 1 минуту и 30 секунд не могу прочитать поля titles. |
| Автор: AlexeyVorotnikov 13.12.2007, 12:22 | ||
А почему?
|
| Автор: IUser 13.12.2007, 12:36 |
| могу выслать проект, кто может помочь |
| Автор: ecologist 13.12.2007, 12:48 |
| Ну как можно без кода узнать, почему что-то не читается ? А разбираться в проекте целиком - времени жалко. Вышли ту часть, которая читает файл. |
| Автор: AlexeyVorotnikov 13.12.2007, 13:03 |
| И напишите почему же всё-таки не работает. Выкидывает ексепшн? Какой? Что говорит? И т.д. |
| Автор: IUser 13.12.2007, 13:27 |
| выслал |
| Автор: IUser 13.12.2007, 14:53 |
| вот какая ошибка Exception in thread "main" java.lang.NullPointerException at shop.ShopHandler.characters(ShopHandler.java:111) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at shop.SAXSimple.main(SAXSimple.java:37) document started |
| Автор: Kangaroo 13.12.2007, 14:57 |
куда выслал? |
| Автор: IUser 13.12.2007, 15:01 | ||
высылал на адресс который появляется при нажатии на E-mail Добавлено через 55 секунд ошибка в последнем Case |
| Автор: Kangaroo 13.12.2007, 15:09 | ||
| Дык теперь покажи Client ) Есть подозрение, что что-то в этой цепочке является НУЛЛем:
ЗЫ Кроме Клиента, еще нужны Order & Title |
| Автор: IUser 13.12.2007, 15:35 | ||
| Они являются вложенными, Title вложен в Order Добавлено через 1 минуту и 8 секунд и всё это вложено в клиента Добавлено через 3 минуты и 45 секунд вот клиент
|
| Автор: Kangaroo 13.12.2007, 15:45 | ||||
Вот:
У тебя title не инициализируется. Нужно
|
| Автор: AlexeyVorotnikov 13.12.2007, 15:51 |
| Kangaroo, опередил Добавлено через 1 минуту и 4 секунды Однако, судя по коду, это был отнюдь не последний вопрос. Вопросов будет ещё много. |
| Автор: IUser 13.12.2007, 16:01 |
| это точно, буду очень благодарен за помощь Добавлено через 4 минуты и 7 секунд Запустилось!! а можно класс Titles отдельно сделать, не вложенным, или тогда придется ещё одну коллекцию делать на Titles? |
| Автор: AlexeyVorotnikov 13.12.2007, 16:08 |
| Вообще, написание хендлера для SAX парсера задача довольно нетривиальная. Без знания теории конечных автоматов, на одной интуиции, написать его правильно затруднительно. Особенно, если и о структурах данных понятия смутные. (Шутка |
| Автор: IUser 13.12.2007, 16:14 |
| Да я только учусь, по этому смутное понятие обо всём( Добавлено через 1 минуту и 4 секунды а это я пишу по примеру, сказали так писать, только пример упращён |
| Автор: Kangaroo 13.12.2007, 16:16 |
Это как Или это ? |
| Автор: AlexeyVorotnikov 13.12.2007, 16:21 |
| В каждой шутке есть доля шутки Сейчас я попробую подправить программу и покажу, что получилось. |
| Автор: Kangaroo 13.12.2007, 16:29 | ||
А у меня как? UserHandler из лабы моей по СаксПарсеру:
|
| Автор: IUser 13.12.2007, 17:22 |
| что делает строка private static final List<String> elements = new ArrayList<String>(Arrays.asList("user", "login", "pass", "name", "surname", "lastLoginDate", "showNews", "showCalendar")); |
| Автор: Kangaroo 13.12.2007, 17:34 | ||
В startElement:
Чтобы использовать свитч для определения текущего нода. Иначе пришлось бы кучу if'ов писать. |
| Автор: IUser 14.12.2007, 15:57 |
| что может означать ошибка [Fatal Error] Internet.xml:2:3: The markup in the document preceding the root element must be well-formed. org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed. at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at nshop.SAXSimple.main(SAXSimple.java:24) document started Ошибка SAX-парсера |
| Автор: Kangaroo 14.12.2007, 16:20 |
| IUser, а покажи Internet.xml Что-то в нем не well-formed |
| Автор: IUser 14.12.2007, 17:35 |
| xml исправил, теперь вот что выдает Exception in thread "main" java.lang.NullPointerException at nshop.ShopHandler.characters(ShopHandler.java:114) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) at nshop.SAXSimple.main(SAXSimple.java:24) |
| Автор: Kangaroo 14.12.2007, 17:50 | ||
Найди строчку:
Там у тебя где-то опять null pointer выскакивает... |
| Автор: IUser 14.12.2007, 18:09 |
| из за чего это бывает? |
| Автор: Kangaroo 14.12.2007, 18:24 | ||
| IUser, ну как это из-за чего. Обьект какой-нибудь у тебя null, а ты пытаешься вызвать метод его. Например:
|
| Автор: Orange 8.5.2008, 14:38 | ||
И вот это не понятно, зачем два раза подряд set
Добавлено через 6 минут и 26 секунд Ооой! Я про SAX примеры искал и чего-то зачитался, на дату поста не посмотрел))) |