2011-01-18 92 views
0

我可以从Android的SAX元素类获取XML字符串吗?例如,在.NET中的DOM解析中,我们可以获得节点的OuterXml或InnerXml。除非我忽略了一些东西,否则无法在Android中使用SAX或DOM解析。我是对的吗(我不希望)?Android:从SAX元素获取XML

使用SAX,我们可以这样做:

Element childElt = rootElt.getChild(CHILD_ELT_NAME); 
if(childElt != null) { 
childElt.setEndTextElementListener(new EndTextElementListener() { 
    @Override 
    public void end(String body) { 
    //Do something with the body string 
    } 
}); 
} 

这将使我们获得的子元素的“价值”。有什么类似的东西可以让我们获得元素及其子元素的XML表示吗?

谢谢。

+0

也许尝试其他XML抽象比DOM; SAX对于这样的任务非常不方便...对于DOM来说很简单,并且绑定的pull解析器(或者Stax)相对简单(比SAX)还要简单呢? – StaxMan 2011-01-18 22:31:50

+0

DOM实际上比SAX好,但仍然是笨拙的... – 2011-01-18 23:19:49

回答

0

如果您尝试执行树结构敏感的操作,则应该使用DOM。你似乎试图做的似乎符合这个描述,所以我建议你使用一个DOM解析器。 。

对于SAX V的讨论大教堂(事件与树)看到:http://www.saxproject.org/event.html

0

随着VTD-XML,你可以得到令牌的索引,并将其转换为字符串作进一步处理,如果简单是你看什么。