Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Обработка XML / 15 сообщений из 15, страница 1 из 1
17.01.2006, 14:08
    #33487190
Leha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
Всем Здравствуйте!
Такая у меня проблема: делаю конвертацию XML который в "UTF-8" в "KOI8-R"
таким способом

TransformerFactory xformFactory = TransformerFactory.newInstance();
Transformer idTransform = xformFactory.newTransformer();
idTransform.setOutputProperty( OutputKeys.ENCODING, "KOI8-R");
Source input = new StreamSource( new StringReader( strXml));
Result output = new DOMResult( doc);
idTransform.transform( input, output);

и в результате ничего не происходит XML как был в "UTF-8" так и остался.

Как я выяснил нужно в библиотеку XSLT добавить поддержку "KOI8-R".
Если кто-нибуть с таким сталкивался подскажите как быть. Как это
добавляется.

Я использую JDK 1.5
...
Рейтинг: 0 / 0
17.01.2006, 15:49
    #33487556
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
и в результате ничего не происходит XML как был в "UTF-8" так и остался.

а как ты определяешь, что документ так и остался в UTF-8?
...
Рейтинг: 0 / 0
17.01.2006, 16:59
    #33487802
Glazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
Кодировка то кстати меняется просто вместо символов печатаются ссылки вида:
НомерСимволаUTF
...
Рейтинг: 0 / 0
18.01.2006, 07:50
    #33488489
Leha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
wessen и в результате ничего не происходит XML как был в "UTF-8" так и остался.

а как ты определяешь, что документ так и остался в UTF-8?

вывожу на экран или сохраняю в файл
...
Рейтинг: 0 / 0
18.01.2006, 07:51
    #33488491
Leha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
GlazzКодировка то кстати меняется просто вместо символов печатаются ссылки вида:
НомерСимволаUTF

а у меня так всё и остаётся как-будто и перекодировки никакой небыло
...
Рейтинг: 0 / 0
18.01.2006, 15:19
    #33489663
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
Leha wessen и в результате ничего не происходит XML как был в "UTF-8" так и остался.

а как ты определяешь, что документ так и остался в UTF-8?

вывожу на экран или сохраняю в файл

покажи как сохраняешь в файл.
...
Рейтинг: 0 / 0
19.01.2006, 11:29
    #33491208
Leha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
TransformerFactory xformFactory = TransformerFactory.newInstance();
Transformer idTransform = xformFactory.newTransformer();
idTransform.setOutputProperty( OutputKeys.ENCODING, "KOI8-R");
Source input = new StreamSource( new File( "001.xml"));
Result output = new StreamResult( new File( "002.xml"));
idTransform.transform( input, output);
...
Рейтинг: 0 / 0
19.01.2006, 11:59
    #33491312
Glazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка 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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
 package  Glaz.xml;


 import  javax.xml.parsers.DocumentBuilder; 
 import  javax.xml.parsers.DocumentBuilderFactory;  
 import  javax.xml.transform.*;
 import  javax.xml.transform.dom.*;
 import  javax.xml.transform.stream.*;
 import  org.w3c.dom.*;
 import  java.io.*;

 public   class  XMLTest{
  
  static  Document doc;
  
  public   static   void  main (String argv [])  throws  Exception{
  
  String sCodePage="windows-1251";
  DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();
  DocumentBuilder builder = factory.newDocumentBuilder();
  doc = builder.newDocument();
  
  Element root=doc.createElement("Root");
   Element childA=doc.createElement ("childA");
   childA.setTextContent("Русские символы UTF");
  root.appendChild(childA);
   Element childB=doc.createElement ("childB");
  childB.setAttribute("attributeXXX","Занчение аттрибута!");
  root.appendChild(childB);
  doc.appendChild (root);
  
  TransformerFactory tranFactory = TransformerFactory.newInstance(); 
  Transformer transformer = tranFactory.newTransformer();
  
  transformer.setOutputProperty(OutputKeys.METHOD, "xml");
  transformer.setOutputProperty(OutputKeys.VERSION,"1.0");
  transformer.setOutputProperty(OutputKeys.INDENT, "yes" );
  transformer.setOutputProperty(OutputKeys.ENCODING,sCodePage);
  
    
  System.out.println("transformer.getClass().getName()="+transformer.getClass().getName());
  System.out.println(transformer.getOutputProperties()); 
  Source src = new  DOMSource(doc);
  PrintWriter out =  new  PrintWriter( new  OutputStreamWriter(System.out,sCodePage));
  
  DOMSource source =  new  DOMSource(doc);
  File file =  new  File("c:\\test.xml");                       
  StreamResult result1 =  new  StreamResult( new  PrintWriter(file,sCodePage)); 
    transformer.transform(source, result1);
  
  Result dest =  new  StreamResult(out);
  transformer.transform(src, dest); 
  }  
}
...
Рейтинг: 0 / 0
19.01.2006, 12:23
    #33491398
Leha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
Glazz
Код: 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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
 package  Glaz.xml;


 import  javax.xml.parsers.DocumentBuilder; 
 import  javax.xml.parsers.DocumentBuilderFactory;  
 import  javax.xml.transform.*;
 import  javax.xml.transform.dom.*;
 import  javax.xml.transform.stream.*;
 import  org.w3c.dom.*;
 import  java.io.*;

 public   class  XMLTest{
  
  static  Document doc;
  
  public   static   void  main (String argv [])  throws  Exception{
  
  String sCodePage="windows-1251";
  DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();
  DocumentBuilder builder = factory.newDocumentBuilder();
  doc = builder.newDocument();
  
  Element root=doc.createElement("Root");
   Element childA=doc.createElement ("childA");
   childA.setTextContent("Русские символы UTF");
  root.appendChild(childA);
   Element childB=doc.createElement ("childB");
  childB.setAttribute("attributeXXX","Занчение аттрибута!");
  root.appendChild(childB);
  doc.appendChild (root);
  
  TransformerFactory tranFactory = TransformerFactory.newInstance(); 
  Transformer transformer = tranFactory.newTransformer();
  
  transformer.setOutputProperty(OutputKeys.METHOD, "xml");
  transformer.setOutputProperty(OutputKeys.VERSION,"1.0");
  transformer.setOutputProperty(OutputKeys.INDENT, "yes" );
  transformer.setOutputProperty(OutputKeys.ENCODING,sCodePage);
  
    
  System.out.println("transformer.getClass().getName()="+transformer.getClass().getName());
  System.out.println(transformer.getOutputProperties()); 
  Source src = new  DOMSource(doc);
  PrintWriter out =  new  PrintWriter( new  OutputStreamWriter(System.out,sCodePage));
  
  DOMSource source =  new  DOMSource(doc);
  File file =  new  File("c:\\test.xml");                       
  StreamResult result1 =  new  StreamResult( new  PrintWriter(file,sCodePage)); 
    transformer.transform(source, result1);
  
  Result dest =  new  StreamResult(out);
  transformer.transform(src, dest); 
  }  
}


ну и что????????
так же как и у меня и результат тотже
...
Рейтинг: 0 / 0
19.01.2006, 14:21
    #33491895
Glazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
transformer.getClass().getName()=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl
{indent=yes, version=1.0, encoding=windows-1251, method=xml}
<?xml version="1.0" encoding="windows-1251"?>
<Root>
<childA>Русские символы UTF</childA>
<childB attributeXXX="Занчение аттрибута!"/>
</Root>
...
Рейтинг: 0 / 0
19.01.2006, 14:27
    #33491920
Leha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
Glazztransformer.getClass().getName()=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl
{indent=yes, version=1.0, encoding=windows-1251, method=xml}
<?xml version="1.0" encoding="windows-1251"?>
<Root>
<childA>Русские символы UTF</childA>
<childB attributeXXX="Занчение аттрибута!"/>
</Root>

а ты какую версию JDK используешь???
...
Рейтинг: 0 / 0
19.01.2006, 15:10
    #33492095
Glazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)

Кста это просто браузер заменяется ссылки на символы НомСимвола в моем посте на символы кирилицы ,) Посмотри исходный код этой страницы, гы.
...
Рейтинг: 0 / 0
20.01.2006, 10:38
    #33493500
Leha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
и у меня таже версия. В чём же проблема..............??
я открываю файл в обычном текстовом редакторе.
Просто тот же код, но на JDK 1.4 работает как надо.
Может у меня JDK какой-нибудь урезанный?????
...
Рейтинг: 0 / 0
27.03.2006, 19:48
    #33628186
Обработка XML
Была таже проблема. Заменил Xerces на Xalan и все заработало
...
Рейтинг: 0 / 0
28.03.2006, 11:41
    #33629051
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка XML
Павел МартышевБыла таже проблема. Заменил Xerces на Xalan и все заработало

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


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