BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 16 апр 2024, 23:28

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 06 сен 2011, 13:40 
Не в сети

Зарегистрирован: 22 дек 2008, 13:02
Сообщения: 270
Откуда: Москва
Карма: 27
Вещь крайне простая, но поймал себя, что просто не получалось.
В результате родилось следующее
Код:
import bitel.billing.server.util.*;
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import bitel.billing.server.contract.bean.ContractManager;
public void main( setup, con, conSlave )
{
//получаем 50 первых договоров и формируем из них xml-строки
cm = new ContractManager(con);
accounts = new StringBuilder();
   for (cid=1;cid<50;cid++){
      try{ accounts.append("<account>"+cm.getContractById(cid).getTitle()+"</account>");}
      catch (NullPointerException e) {}
   }

Source xmlInput = new StreamSource(new StringReader("<account_list><date>"+ new Date()+"</date>"+accounts+"</account_list>"));
StreamResult xmlOutput = new StreamResult(new FileWriter("test.xml"));

//Настраиваем трансформер
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "windows-1251");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
transformer.transform(xmlInput, xmlOutput);

//flush&close
xmlOutput.getWriter().close();
}

Однако, всё ещё кажется громоздким. Может кто поделится более красивым решением?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.049s | 20 Queries | GZIP : On ]