【问题标题】:XOM get Document to StringXOM 获取文档到字符串
【发布时间】:2010-01-27 15:29:21
【问题描述】:

假设我有一个这样的字符串:

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

现在我想做的是创建一个 XOM 文档,然后返回如下内容:

String to = documentToString(document)

这个字符串应该只有&lt;day type="tt"&gt;ok parsed&lt;/day&gt;,而不是&lt;time&gt;..&lt;/time&gt;root 元素。

我已经创建了 XOM 文档,但不知道进行字符串转换部分的简单方法是什么。

【问题讨论】:

  • 对于追随者,要获取文档 from 字符串try ` Builder builder = new Builder();文档 doc = builder.build(docStr, null);`

标签: java xml xom


【解决方案1】:

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>

【讨论】:

  • 对于追随者,toXML 将其作为 XML 表示形式吐出,而 toString 不会,仅列出主标头。
【解决方案2】:

可以使用xpath获取day节点:

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

你可以通过

获取该节点的字符串内容
nodes[0].toXML();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 2011-02-03
    • 1970-01-01
    相关资源
    最近更新 更多