XOM получить документ в строку - PullRequest
1 голос
/ 27 января 2010

Предположим, у меня есть такая строка:

String from = "<time><day type="tt">ok</day><time>

Теперь я хотел бы создать документ XOM, а затем вернуть что-то вроде:

String to = documentToString(document)

Эта строка должна содержать только <day type="tt">ok parsed</day>, а не корневой элемент <time>..</time>.

Я уже создал документ XOM, но не знаю, как проще всего выполнить преобразование строк.

Ответы [ 2 ]

2 голосов
/ 27 января 2010

Метод toXML () - ваш друг:

import nu.xom.*;
import java.io.StringReader;

public class XomElementAsString
{
    public static void main( final String ... args )  throws Exception
    {
        String from = "<time><day type=\"tt\">ok</day></time>";
        Builder parser = new Builder();
        Document document = parser.build( new StringReader( from ) );
        Element child = document
            .getRootElement()
            .getFirstChildElement( "day" );
        System.out.println( child.toXML() );
    }
}

Выход:

<day type="tt">ok</day>
1 голос
/ 27 января 2010

Вы можете использовать xpath для получения дневного узла:

Nodes nodes = document.query("/time");

Вы можете получить строковое содержимое этого узла с помощью

nodes[0].toXML();
...