яж пример давал (и здесь в том числе):
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Сообщение с форума Интертраста полностью</div></div><div class="sp-body"><div class="sp-content">
Тема: XML, DXL и прочая... очередной экзампел (выдергиватель файлов)
Mikhail Cholokov, 10:07:2008 20:52
История началась давно, но покоя тема не дает

всякие тулзы сопутствующие Домине для XML не слишком гибки/быстры/лаконичны/итп
были поиски и экзампелы
Первый про LAX - тыцаем
сюды
Второй про VTD - тыцаем
сюды
теперь вариант такой - пользуем
VTD-XML:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Пример кода</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='java'>import java.io.*;
import com.ximpleware.*;
public class save_base64stream {
public static void main(String[] args) throws Exception {
VTDGen vg = new VTDGen();
// AutoPilot ap = new AutoPilot();
// ap.selectXPath("/document/item/object/file/filedata/text()");
AutoPilot apAttr = new AutoPilot();
apAttr.selectXPath("/document/item/object/file");
if (vg.parseFile("./exported2.dxl", true)) {
VTDNav vn = vg.getNav();
apAttr.bind(vn);
// ap.bind(vn);
int i, iAttr;
String fileName;
while ((iAttr = apAttr.evalXPath()) != -1) {
iAttr = vn.getAttrVal("name");
fileName = vn.toString(iAttr);
// System.out.println(fileName);
i = -1;
vn.toElement(VTDNav.FIRST_CHILD, "filedata");
i = vn.getText();
Base64.decodeToFile(vn.toString(i), "test-" + fileName);
vn.toElement(VTDNav.PARENT);
// FileOutputStream fos = new FileOutputStream("test"+fileName);
// fos.write(s.getBytes());
// fos.close();
// System.out.println(vn.toString(i));
}
}
}
}[/CODE]Base64 класс был в первом примере. Или последний можно взять
здесь.
компилить можно так:
javac -classpath ./:./vtd-xml.jar ./save_base64stream.java
!в текущем путе д.б. Base64.class
запущать можно так:
java -cp ./:./vtd-xml.jar save_base64stream