Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как закачать из dbf в xml? 
:(
    Опции темы
NXN
Дата 9.8.2006, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.8.2006

Репутация: нет
Всего: нет



Есть данные которые выгружаются в dbf файл теперь мне их надо перевести в xml и уже потом работать с полями!
PM MAIL   Вверх
LSD
Дата 9.8.2006, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 8
Всего: 538



И в чем проблема?

Читаешь данные из БД, считал строку, сгенерировал XML (например SAXTransformerFactory) и так далее до конца таблицы.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
NXN
Дата 10.8.2006, 06:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.8.2006

Репутация: нет
Всего: нет



а есть документация по этому?
и проблема в том что я не фига не знаю xml! smile 
PM MAIL   Вверх
LSD
Дата 10.8.2006, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 8
Всего: 538



А что там знать smile XML сам по себе очень прост: открыли тег, записали информацию, закрыли тег и т.д.

Для Java выгрузка данных в файл будет выглядеть так:
Код
  public static void printResultSet(ResultSet rs, TransformerHandler handler) throws SQLException, SAXException
  {
    ResultSetMetaData meta = rs.getMetaData();
    String[] columns = new String[meta.getColumnCount()];
    for(int i = 0; i < columns.length; i++)
      columns[i] = meta.getColumnName(i + 1);
    while(rs.next())
    {
      handler.startElement(null, null, "ROW", null);
      for(int i = 0; i < columns.length; i++)
      {
        handler.startElement(null, null, columns[i], null);
        String str = rs.getString(i + 1);
        if(str != null)
          handler.characters(str.toCharArray(), 0, str.length());
        handler.endElement(null, null, columns[i]);
      }
      handler.endElement(null, null, "ROW");
    }
  }

  public static void main(String[] args)
  {
    try
    {
      Class.forName("oracle.jdbc.driver.OracleDriver");
      Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@sb-srv:1521:ORCL", "scott", "tiger");
      PreparedStatement ps = conn.prepareStatement("select * from TABLE1");
      ResultSet rs = ps.executeQuery();
      String tableName = rs.getMetaData().getTableName(1);
      if(tableName == null || tableName.equals(""))
        tableName = "ROWSET";

      StreamResult out = new StreamResult(new File("C:\\TEMP\\data.xml"));
      SAXTransformerFactory tf = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
      TransformerHandler handler = tf.newTransformerHandler();
      Transformer serializer = handler.getTransformer();
      serializer.setOutputProperty(OutputKeys.INDENT, "yes");

      handler.setResult(out);
      handler.startDocument();

      handler.startElement("", "", tableName, null);
      printResultSet(rs, handler);
      handler.endElement("", "", tableName);
      handler.endDocument();

      rs.close();
      ps.close();
      conn.close();
    }
    catch(Exception ex)
    {
      ex.printStackTrace();
    }
  }

В результаете получим, что-то наподобие:
Код
<?xml version="1.0" encoding="UTF-8"?>
<ROWSET>
  <ROW>
    <ID>EA4CB32BDBA6405EA44F801B665667F5</ID>
    <TEXT>Treat Wolf</TEXT>
  </ROW>
  <ROW>
    <ID>A6B8245E7D0C49D38A8FB18F42EB7ED0</ID>
    <TEXT>Beverley Pride</TEXT>
  </ROW>
  <ROW>
    <ID>2EDE1EFAD8754FE085D09A153C9EBBA9</ID>
    <TEXT>Oliver Ifans</TEXT>
  </ROW>
  <ROW>
    <ID>5B822E809664421F8A9A7BAFAD706C0E</ID>
    <TEXT>Denzel Kingsley</TEXT>
  </ROW>
  <ROW>
    <ID>29C75041A34440D7ADD8BFC50B0C100B</ID>
    <TEXT>Stevie Tucker</TEXT>
  </ROW>
  <ROW>
    <ID>6222581350644D048EEA61FFD4043AB6</ID>
    <TEXT>Patricia Short</TEXT>
  </ROW>
  <ROW>
    <ID>D15D516CCF964794A5332934E7E0A85A</ID>
    <TEXT>Shelby Mirren</TEXT>
  </ROW>
</ROWSET>



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
NXN
Дата 10.8.2006, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.8.2006

Репутация: нет
Всего: нет



1. уже есть входной файл dbf который выгружает из rs (такая програмка)
2. надо из этого файла читать и записывать в другую форму, которая заполняется формами xml 
как это сделать пока не очень понимаю!!!!!!
МОЖЕТ КТО ПОМОЖЕТ!!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.