powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема парсинга XML при помощи библиотеки тегов
9 сообщений из 9, страница 1 из 1
Проблема парсинга XML при помощи библиотеки тегов
    #33823059
v_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Считываю через jsp новости в формате RSS

<%@ taglib uri="http://jakarta.apache.org/taglibs/xtags-1.0" prefix="xtags" %>
<%@ page contentType="text/html; charset=Windows-1251" %>

<xtags:parse url="http://www.mm.com.ua/russian/news/rss.xml" id="mydoc" />
<xtags:style document="<%=mydoc%>" xsl="/rss/rss0.91.xsl" outputMethod="html"/>

Это работает, но очень странно - если исходный rss.xml скачать и положить на локальный сервер - проблем нет, пробовал закачать его на хостинг своего провайдера - тоже работает. Но с хостинга первоисточника (в примере указан реальный URL) работать не желает - выдает 500 ошибку. Ошибку вызывает парсинг, до XSLT трансформации дело даже не доходит.
Если делать трансформацию сразу, минуя парсинг вот так -

<xtags:style xml="http://www.mm.com.ua/russian/news/rss.xml" xsl="/rss/rss0.91.xsl" outputMethod="html"/>

Все работает, но парсинг нужен для определения версии RSS , чтобы использовать соответствующий XSLT.

Если у кого есть мысли - буду признателен.
...
Рейтинг: 0 / 0
Проблема парсинга XML при помощи библиотеки тегов
    #33823542
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо у провайдера не установлены необходимые для парсинга библиотеки, либо версии библиотек староваты, в любом случае вопрос в суппорт хостера.
...
Рейтинг: 0 / 0
Проблема парсинга XML при помощи библиотеки тегов
    #33823545
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения, не разобрался в вопросе!
Возможно проблема в том что у Вашего приложения не хватает прав на сетевые соединения.
...
Рейтинг: 0 / 0
Проблема парсинга XML при помощи библиотеки тегов
    #33823601
v_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Kachalov
Мое приложение это jsp страница. С соединением все в порядке, т.к. сам файл rss.xml ей доступен и она даже может его трансформировать
<xtags:style xml="http://www.mm.com.ua/russian/news/rss.xml" xsl="/rss/rss0.91.xsl" outputMethod="html"/>

Проблема возникает при попытке этот файл распарсить
<xtags:parse url="http://www.mm.com.ua/russian/news/rss.xml" id="mydoc" />

Вы можете попробовать сделать тоже самое - код я весь привел. Нужно только установить библиотеку тегов xtags
...
Рейтинг: 0 / 0
Проблема парсинга XML при помощи библиотеки тегов
    #33823620
dominator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в логах что ?
...
Рейтинг: 0 / 0
Проблема парсинга XML при помощи библиотеки тегов
    #33823770
v_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to dominator

exception

javax.servlet.ServletException: Error on line 1 of document http://www.mm.com.ua/russian/news/rss.xml : org.apache.crimson.parser/P-076 Malformed UTF-8 char -- is an XML encoding declaration missing? Nested exception: org.apache.crimson.parser/P-076 Malformed UTF-8 char -- is an XML encoding declaration missing?
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.rss.rss_jsp._jspService(org.apache.jsp.rss.rss_jsp:190)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
LogFilter.doFilter(Unknown Source)

root cause

org.apache.taglibs.xtags.util.JspNestedException: Error on line 1 of document http://www.mm.com.ua/russian/news/rss.xml : org.apache.crimson.parser/P-076 Malformed UTF-8 char -- is an XML encoding declaration missing? Nested exception: org.apache.crimson.parser/P-076 Malformed UTF-8 char -- is an XML encoding declaration missing?
org.apache.taglibs.xtags.util.JspNestedException.fillInStackTrace(JspNestedException.java:68)
java.lang.Throwable.<init>(Throwable.java:196)
java.lang.Exception.<init>(Exception.java:41)
javax.servlet.jsp.JspException.<init>(JspException.java:47)
org.apache.taglibs.xtags.util.JspNestedException.<init>(JspNestedException.java:45)
org.apache.taglibs.xtags.xpath.AbstractBodyTag.handleException(AbstractBodyTag.java:46)
org.apache.taglibs.xtags.xpath.ParseTag.doStartTag(ParseTag.java:78)
org.apache.jsp.rss.rss_jsp._jspService(org.apache.jsp.rss.rss_jsp:79)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
LogFilter.doFilter(Unknown Source)
...
Рейтинг: 0 / 0
Проблема парсинга XML при помощи библиотеки тегов
    #33824051
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже проблема с кодировками, парсер считает что документ пришел в UTF-8, а это очевидно не так.
...
Рейтинг: 0 / 0
Проблема парсинга XML при помощи библиотеки тегов
    #33824329
v_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Kachalov
Поставил вместо
<%@ page contentType="text/html; charset=Windows-1251" %>

<%@ page contentType="text/html; charset=UTF-8" %>

эффекта не дало, может я Вас не правильно понял?
...
Рейтинг: 0 / 0
Проблема парсинга XML при помощи библиотеки тегов
    #33825513
v_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Kachalov
Получилось такое решение

<%@ taglib uri="http://jakarta.apache.org/taglibs/xtags-1.0" prefix="xtags" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

<c:set var="url"><%= request.getParameter("url") %></c:set>

<xtags:parse id="mydoc" >
<c:import url="${url}" charEncoding="windows-1251" /> <%-- KOI8_R --%>
</xtags:parse>

<xtags:choose>
<xtags:when test="rss/@version='2.0'">
<xtags:style document="<%=mydoc%>" xsl="/rss/rss2.0.xsl" outputMethod="html"/>
</xtags:when>
<xtags:when test="rss/@version='0.91'">
<xtags:style document="<%=mydoc%>" xsl="/rss/rss0.91.xsl" outputMethod="html"/>
</xtags:when>
<xtags:otherwise>
другая версия RSS
</xtags:otherwise>
</xtags:choose>

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


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