Я использую kXML2 для создания / chage / save / read xml. При использовании с BlackBerry помните:
- для релиза вы должны предварительно проверить его и собрать proj с помощью ant
Ахмад Фердоус Бин Алам - Как импортировать файл kxml jar в ваш проект
Slashdev - Разработка BlackBerry с Ant & Eclipse
ОБНОВЛЕНИЕ: Учебник. Как использовать сторонние библиотеки в своих приложениях
- для отладки необходимо добавить kXML-источники и org.xmlpull.v1 исходники в ваш проект BB
Создать XML
Document d = new Document();
Element root = d.createElement("", "parent");
root.setName("catalog");
Element book = d.createElement("", "child");
book.setName("book");
book.setAttribute(null, "id", "1");
Element author = d.createElement("", "child");
author.setName("author");
author.addChild(0, Node.TEXT, "Colin Wilson");
book.addChild(0, Node.ELEMENT, author);
Element title = d.createElement("", "child");
title.setName("title");
title.addChild(0, Node.TEXT, "The Mind Parasites");
book.addChild(1, Node.ELEMENT, title);
Element genre = d.createElement("", "child");
genre.setName("genre");
genre.addChild(0, Node.TEXT, "Horror novel, Science fiction novel");
book.addChild(2, Node.ELEMENT, genre);
Element publishDate = d.createElement("", "child");
publishDate.setName("publish-date");
publishDate.addChild(0, Node.TEXT, "1967");
book.addChild(3, Node.ELEMENT, publishDate);
root.addChild(0, Node.ELEMENT, book);
d.addChild(root.ELEMENT, root);
Сохранить XML в файловой системе BlackBerry
Чтение файла XML
Document d= new Document();
FileConnection fc = null;
DataInputStream is = null;
try {
fc = (FileConnection) Connector.open(fileName, Connector.READ);
is = fc.openDataInputStream();
KXmlParser parser = new KXmlParser();
parser.setInput(is, "UTF-8");
d.parse(parser);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Смотри также:
RoseIndia.net - Пример J2ME Kxml
Изменить XML-документ
Все, что вам нужно сделать, это получить необходимый элемент и изменить его:
Element catalog = d.getElement("", "catalog");
Element book = catalog.getElement("", "book");
Element title = book.getElement("", "title");
title.removeChild(0);
title.addChild(Element.TEXT, "Spider World: The Tower");
Element publish = book.getElement("", "publish-date");
publish.removeChild(0);
publish.addChild(Element.TEXT, "1987");
Вывод документа XML на экран BlackBerry (где-то в классе Screen)
Просто сериализовать XML-документ в строку и поместить его в RichTextField:
deleteAll();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
KXmlSerializer serializer = new KXmlSerializer();
try {
serializer.setOutput(baos, "UTF-8");
d.write(serializer);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
add(new RichTextField(baos.toString()));