powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вывод XML из страницы JSP
7 сообщений из 7, страница 1 из 1
Вывод XML из страницы JSP
    #34112107
shurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Генерится через DOM такой XML
<?xml version="1.0" encoding="UTF-16"?>
<!--XML document for books--><books><book num="1"><title>Java Programming</title><publisher>Prentice Hall</publisher></book><book num="2"><title>Java Programming</title><publisher>Prentice Hall</publisher></book></books>

Он корректен все классно. Мне надо вернуть его в виде response. соответственно пишу в страничке jsp:

<%@ page contentType="text/xml;charset=UTF-16" %>
<?xml version="1.0" encoding="UTF-16"?>
<!--XML document for books--><books><book num="1"><title>Java Programming</title><publisher>Prentice Hall</publisher></book><book num="2"><title>Java Programming</title><publisher>Prentice Hall</publisher></book></books>

Ругается, что не корректен XML. стоит убрать строку <?xml version="1.0" encoding="UTF-16"?> все классно.
Но у меня XML генерится автоматически в процессе сериализации, как быть???
...
Рейтинг: 0 / 0
Вывод XML из страницы JSP
    #34112170
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<?xml version="1.0" encoding="UTF-16"?> - эта строка вроде как должна идти в начале документа, а конструкция
Код: plaintext
1.
2.
<%@ page contentType="text/xml;charset=UTF-16" %>
<?xml version="1.0" encoding="UTF-16"?>

добавит перевод строки. попробуйте так:

Код: plaintext
1.
<%@ page contentType="text/xml;charset=UTF-16" %><?xml version="1.0" encoding="UTF-16"?>
...
Рейтинг: 0 / 0
Вывод XML из страницы JSP
    #34112734
shurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, перевод строки лишний. Но это не решило проблему. мой код
<%@ page import="javax.xml.parsers.*"%>
<%//@ page import="java.io.*"%>
<%//@ page import="java.util.*"%>
<%@ page import="org.w3c.dom.Element"%>
<%@ page import="org.w3c.dom.Text"%>
<%@ page import="org.w3c.dom.Document"%>
<%@ page import="org.w3c.dom.Comment"%>
<%@ page import="org.w3c.dom.ls.DOMImplementationLS"%>
<%@ page import="org.w3c.dom.DOMImplementation"%>
<%@ page import="org.w3c.dom.ls.LSSerializer"%>
<%@ page contentType="text/xml;charset=UTF-16"%>
<%DocumentBuilderFactory dbFactory =
DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();
Document document = docBuilder.newDocument();
// Create a comment
Comment comment = document.createComment("XML document for books");
document.appendChild(comment);
// Create the books element as the root
Element booksElement = document.createElement("books");
document.appendChild(booksElement);
// Create elements for the first book
Element bookElement = document.createElement("book");
bookElement.setAttribute("num", "1");
Element titleElement = document.createElement("title");
Text titleText = document.createTextNode("Java Programming");
Element publisherElement = document.createElement("publisher");
Text publisherText = document.createTextNode("Prentice Hall");
//Add elements for the first book
booksElement.appendChild(bookElement);
bookElement.appendChild(titleElement);
titleElement.appendChild(titleText);
bookElement.appendChild(publisherElement);
publisherElement.appendChild(publisherText);
//Create elements for the second book
Element bookElement2 = document.createElement("book");
bookElement2.setAttribute("num", "2");
Element titleElement2 = document.createElement("title");
Text titleText2 = document.createTextNode("Java Programming");
Element publisherElement2 = document.createElement("publisher");
Text publisherText2 = document.createTextNode("Prentice Hall");
//Add elements for the second book
booksElement.appendChild(bookElement2);
bookElement2.appendChild(titleElement2);
titleElement2.appendChild(titleText2);
bookElement2.appendChild(publisherElement2);
publisherElement2.appendChild(publisherText2);
//Serialize a DOM document to an XML as a string
DOMImplementation impl = document.getImplementation();
DOMImplementationLS implLS =
(DOMImplementationLS)impl.getFeature("LS", "3.0");
LSSerializer serializer = implLS.createLSSerializer();
String outer = serializer.writeToString(document);
System.out.print(outer);
%>

через вывод в System.out.print(outer); в консоль выводится абсолютно корректный XML

если пвтаюсь в out.print(outer) говорит что не корректный XML. в ччем проблема не пойму.
...
Рейтинг: 0 / 0
Вывод XML из страницы JSP
    #34112959
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
импорты тоже добавляют переводы строк
...
Рейтинг: 0 / 0
Вывод XML из страницы JSP
    #34112966
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, страница выводится в юникоде-16. возможно клиент не знает что это такое.
...
Рейтинг: 0 / 0
Вывод XML из страницы JSP
    #34113173
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вывод XML из страницы JSP
    #34113439
dmik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а я делал вот так:
в jsp:
<%@ page language="java" contentType="text/html; charset=Cp1251" pageEncoding="Cp1251"%><%= request.getAttribute("xml-text") %>

в action:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
Document doc = docBuilder.getDOMImplementation().createDocument("","main",null);
.....

DomTreePrinter db = new DomTreePrinter();
db.parseDomTree(doc);
request.setAttribute("xml-text",db.getOutputText());
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Вывод XML из страницы JSP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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