Выписываем элемент с помощью staxmate api - PullRequest
2 голосов
/ 24 декабря 2010

Я использую staxmate для написания XML-документа.Я хочу выписать элементы xml с префиксом / пространством имен, например "pre: elem".Я могу создать это вручную как «pre» + «:» + «elem» и передать его в метод addElement staxmate api.Но есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 06 января 2011

Создание вручную не гарантируется, поэтому это не очень хорошее решение (о котором вы, вероятно, уже знали).Правильный путь - получить экземпляр пространства имен (с предлагаемым префиксом) и использовать его для записи.Итак, что-то вроде:

SMOutputDocument doc = ...;
SMNamespace ns = doc.getNamespace("http://mynamespaces.com", "pre");
SMOutputElement elem = doc.addElement(ns, "root");
// ... and so forth

Вы можете получить экземпляры пространства имен из любого контейнера (SMOutputDocument, SMOutputElement).

Без передачи объекта пространства имен по умолчанию предполагается, что пространство имен с URI "" (чтодолжен быть без префикса).

(примечание: я попрошу, чтобы это было добавлено в StaxMate FAQ )

...