【问题标题】:XML Parsing in Android [Java]Android中的XML解析[Java]
【发布时间】:2010-07-11 09:08:02
【问题描述】:

我需要使用的 API 不支持 xpath,这有点让人头疼! :-( 哈哈

我要解析的 xml 是一个字符串。我的问题:

  1. 是否有“simplexml_load_string”的 Java 等效项,它将字符串转换为 xml 文档进行解析?
  2. SAX 和 DOM 哪个更适合解析?我需要从 XML 中获取几个值,并且结构不是那么深。 [3 级]

谢谢!

【问题讨论】:

    标签: java android xml


    【解决方案1】:

    也许这会对你有所帮助

    //http://developer.android.com/intl/de/reference/android/content/res/XmlResourceParser.html
    import org.xmlpull.v1.XmlPullParserException;
    try {
                XmlResourceParser xrp = ctx.getResources().getXml(R.xml.rules);
                while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) {
                    if (xrp.getEventType() == XmlResourceParser.START_TAG) {
                        String s = xrp.getName();
                        if (s.equals("category")) {
    
                            String catname = xrp.getAttributeValue(null, "name");
    
                            String rule = xrp.getAttributeValue(null, "rule");
    
    
    
                        }
                    } else if (xrp.getEventType() == XmlResourceParser.END_TAG) {
                        ;
                    } else if (xrp.getEventType() == XmlResourceParser.TEXT) {
                        ;
                    }
                    xrp.next();
                }
                xrp.close();
    
            } catch (XmlPullParserException xppe) {
                Log.e(TAG(), "Failure of .getEventType or .next, probably bad file format");
                xppe.toString();
            } catch (IOException ioe) {
                Log.e(TAG(), "Unable to read resource file");
                ioe.printStackTrace();
            }
    

    【讨论】:

      【解决方案2】:
      1. 不确定。
      2. 如果 XML 文件/字符串很小,DOM 是一个不错的选择,因为它提供了更多功能。 SAX 应该用于需要考虑内存使用和性能的较大 XML 文件。

      【讨论】:

        猜你喜欢
        • 2020-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-04
        • 1970-01-01
        • 2013-01-22
        相关资源
        最近更新 更多