Показать сообщение отдельно
Непрочитано 10.10.2014, 16:44   #4
Аватар для n3k0nation
Antihero

По умолчанию Re: Конвертер XLStoXML и обратно

Цитата:
Сообщение от avemaria Посмотреть сообщение
а можно поподробнее?
Джава "искаробки" поддерживает XPath. В чем проблема его использовать? Все описанные Вами проблемы чуть более чем полностью отпадают.
XPath - язык запросов для работы с XML. Позволяет производить выборки и т.д.
Чуть позже обьясню, что я имею ввиду и нафига он Вам нужен.

ЗЫ: XSL просто документ для валидации XML (так же юзается для трансформации одного XML-документа в другой), как вы собираетесь его использовать для ваших задач? Причем он тут вообще? Генерировать XLS можно по существующему XML документу, да, но у меня происходит диссонанс, когда говорят про обратный случай (XSL->XML), дата с потолка возьмется? XLS ее не содержит.

Добавлено через 2 минуты
Пардон. Перепутал XLS с XSD.

Добавлено через 14 минут
Поехал длинно-пост.

Есть аж два вариант решения проблемы. Первый костыльный, второй хороший.

Вариант первый.
И так. Формат экзеля (XLS) можно экспортировать в текстовый формат, где все делится обычными токенами. Мы делаем ORM этого документа и пишем ридер.
Пример ORM:
Код:
private int id;
private String name;
private int level;
...

public int getId() {
  return id;
}
public void setId(int id) {
  this.id = id;
}
...
Ридер через обычный LineReader (либо Files НИОшный), плюс парс через регулярки, либо через StringTokenizer.
Полученные и заполненные ORM'ы мы даем на сьедение XStream, он преобразует их в XML-документ по нужным паттернам, которые можно указать вручную, что бы не переписывать существующие парсеры на сервере.
Профит.

Вариант второй.
Выкидываем все XLS и просто используем xPath для работы с XML. Это нечто вроде SQL, но для XML.

Вариант дополнительный, для наркоманов.
В сети есть фреймворк для работы с Windows-DOM, с помощью него можно распаршивать все эти ваши XLS/DOCX/..., но они все содержат кучу избыточной информации, плюс, я бы не стал так уж сильно доверять реализации закрытого формата.
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.

Последний раз редактировалось n3k0nation; 10.10.2014 в 17:07. Причина: Добавлено сообщение
n3k0nation вне форума Ответить с цитированием
Сказали спасибо: