【问题标题】:How can I configure a SAX parser in the Sun JVM to match the Android one?如何在 Sun JVM 中配置 SAX 解析器以匹配 Android 解析器?
【发布时间】:2011-03-30 01:53:46
【问题描述】:

有没有办法在 SAX 解析器上配置特性/属性,使其与默认的 Android 解析器匹配?

我已经为 Atom 提要实现了一个 SAX 解析器,我希望能够在不通过 InstrumentationTestCase 运行它的情况下对其进行单元测试。我马上看到的不同之处在于,在 startElement() 中,localName 在 Android 上运行时具有元素名称,而在 Sun JVM 下运行时填充了“name”方法参数。此外,在 Sun JVM 上运行时会忽略空格,但在 Android 上则不会。

【问题讨论】:

    标签: java android jvm dalvik saxparser


    【解决方案1】:

    对于那些寻找经过反复试验的人来说,这两个功能似乎使它最相似。最后,由于 XML 解析的差异,我们最终将这些类型的单元测试作为仪器测试运行。

    XMLReader reader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
    reader.setFeature("http://xml.org/sax/features/namespaces", false);
    reader.setFeature("http://xml.org/sax/features/namespace-prefixes", false);
    reader.setContentHandler(handler);
    reader.parse(source);
    

    【讨论】:

      【解决方案2】:

      可能需要将解析器配置为支持命名空间,并将“http://apache.org/xml/features/dom/include-ignorable-whitespace”功能设置为 true。

      【讨论】:

      • 这是 DOM 功能,而不是 SAX 功能。
      猜你喜欢
      • 2015-12-15
      • 2014-03-29
      • 2011-04-30
      • 2011-05-26
      • 2011-08-14
      • 2012-07-03
      • 2015-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多