如何使用XmlPullParser确定Android命名空间的名称?

时间:2014-02-25 17:57:39

标签: android parsing android-layout xml-parsing

我正在解析Android布局文件,我想弄清楚用户可能称之为Android命名空间(以防万一它不仅仅是android)。我该如何计算这个前缀呢? XmlPullParser中是否有“get all prefixes”方法?

1 个答案:

答案 0 :(得分:0)

我有一个有效的解决方案,虽然它不漂亮。在http://schemas.android.com/apk/res/android找到了适当的android命名空间。执行以下操作,我可以将属性的前缀与命名空间匹配:

String prefix = xpp.getAttributePrefix(i);
if (xpp.getNamespace(prefix) == "http://schemas.android.com/apk/res/android") {
    // We found it! Save the value of prefix
}

在上面的代码中,我将是具有前缀的元素属性的索引。

我设法通过简单地使用xpp.getAttributeValue("http://schemas.android.com/apk/res/android", attr);找到我想要的东西来避免这种情况,无论实际的前缀如何。