【问题标题】:DOM or SAX Parsing ExampleDOM 或 SAX 解析示例
【发布时间】:2011-11-01 07:51:15
【问题描述】:

我已经尝试了 每个 在 Google 上可以解析我的 XML 文件的教程(您可以查看它here)。

我想要对上面链接中的文件做的就是在 Android 应用程序中解析它并提取每个字符串的名称和字符串。

有人可以帮忙吗?我已经完成了至少 7 个左右的教程,现在我失去了所有希望。

谢谢你。

【问题讨论】:

    标签: android dom xml-parsing sax


    【解决方案1】:

    JAXP:

    JAXP 代表用于 xml 处理的 Java API。 这是来自 w3c 的规范。 JAXP 是来自 SUN 的 API。

    使用JAXP api,我们可以用两种方法处理xml 文档。 DOM: 在处理之前将整个 xml 文档存储到内存中。 它占用更多的内存。 它向任何方向移动。 树形数据结构

    使用 DOM 的步骤:

    1. 创建 documentBuilderFactory

      DocumentBuilderFactory 工厂= DocumentBuilderFactory.newInstance();

    2. 创建 DocumentBuilder

      DocumentBuilder 构建器=工厂。 newDocumentBuilder();

      1. 获取输入流 ClassLoader cls=DomReader.class.getClassLoader(); InputStream is=cls.getResourceAsStream("xml文件"); 4.解析xml文件,调用parse方法获取Document对象 在 DocumentBuilder 对象上。 文档 document=builder.parse(is); 5、使用document object.SAX遍历dom树: 简单的 xml 解析。 它逐个节点解析 遍历是从上到下 内存使用率低 使用 sax 无法返回导航。

      //实现所需的处理程序 public class SaxParse extends DefaultHandler{ } //saxParserFactory 的新实例 SAXParserFactory factory=SAXParserFactory.newInstance(); //SAX 解析器的新实例 SAXParser saxparser=factory.newSAXParser(); //解析xml文档 SAXParser.parse(new File(要解析的文件), new SAXXMLParserImpl());

    【讨论】:

      【解决方案2】:

      您可以使用 XmlPullParser 来解析 XML。

      例如参考http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html

      【讨论】:

      • 这个例子没有告诉我如何从一个 URL 读取 XML。它只展示了如何编写一个 XML 文件然后读取它。
      • 您可以对该 URL 使用以下代码 url = new URL("http://-----"); conn = (HttpURLConnection) url.openConnection();连接.connect();并通过 url.openStream()) 读取 URL 内容
      • 明天我会在我的 Mac 上试试这个。现在,您会收到我批准的答复。
      • 没关系,现在问题已经解决了,但是谢谢你的帮助:)。
      猜你喜欢
      • 1970-01-01
      • 2013-09-03
      • 2012-07-28
      • 2010-09-16
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 2012-07-30
      • 2014-06-30
      相关资源
      最近更新 更多