【问题标题】:Android: Get XML from SAX ElementAndroid:从 SAX 元素获取 XML
【发布时间】:2011-06-11 09:59:27
【问题描述】:

我可以从 Android 中的 SAX Element 类中获取 XML 字符串吗?例如,在 .NET 的 DOM 解析中,我们可以获取节点的 OuterXml 或 InnerXml。除非我忽略了某些东西,否则似乎没有办法在 Android 中使用 SAX 或 DOM 解析来做到这一点。我说得对吗(我希望不是)?

使用 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 表示?

谢谢。

【问题讨论】:

  • 也许可以尝试除 DOM 之外的其他 XML 抽象;对于这样的任务,SAX 非常不方便……使用 DOM 很简单,使用捆绑的拉解析器(或 Stax)也相对简单(比 SAX)?
  • DOM 其实比 SAX 好,但还是比较笨重...

标签: android xml sax


【解决方案1】:

如果您尝试执行对树结构敏感的操作,则应使用 DOM。您似乎正在尝试做的事情似乎符合该描述,因此我建议您使用 DOM 解析器。

有关 SAX 与 Dom(事件与树)的讨论,请参阅:http://www.saxproject.org/event.html

【讨论】:

【解决方案2】:

使用VTD-XML,您可以获取令牌索引并将它们转换为字符串以进行进一步处理,如果您想要简单的话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-06
    • 1970-01-01
    • 2011-05-06
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多