1

次のような文字列があるとします。

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

ここでやりたいことは、XOM ドキュメントを作成してから、次のように返すことです。

String to = documentToString(document)

この文字列<day type="tt">ok parsed</day>には、<time>..</time>ルート要素ではなく、 のみを含める必要があります。

既に XOM ドキュメントを作成しましたが、文字列変換部分を行う簡単な方法がわかりません。

4

2 に答える 2

2

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>
于 2010-01-27T16:14:28.627 に答える
1

xpath を使用して、day ノードを取得できます。

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

そのノードの文字列コンテンツを取得するには、

nodes[0].toXML();
于 2010-01-27T16:08:43.773 に答える