`
venus585625
  • 浏览: 252839 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android XML 解析代码

阅读更多
下面这部分代码负责初始化和create XML 文件中声明的View和ViewGroup
    /**
     * Recursive method used to descend down the xml hierarchy and instantiate
     * views, instantiate their children, and then call onFinishInflate().
     */
    private void rInflate(XmlPullParser parser, View parent, final AttributeSet attrs)
            throws XmlPullParserException, IOException {

        final int depth = parser.getDepth();
        int type;

        while (((type = parser.next()) != XmlPullParser.END_TAG ||
                parser.getDepth() > depth) && type != XmlPullParser.END_DOCUMENT) {

            if (type != XmlPullParser.START_TAG) {
                continue;
            }

            final String name = parser.getName();
            
            if (TAG_REQUEST_FOCUS.equals(name)) {
                parseRequestFocus(parser, parent);
            } else if (TAG_INCLUDE.equals(name)) {
                if (parser.getDepth() == 0) {
                    throw new InflateException("<include /> cannot be the root element");
                }
                parseInclude(parser, parent, attrs);
            } else if (TAG_MERGE.equals(name)) {
                throw new InflateException("<merge /> must be the root element");
            } else {
                final View view = createViewFromTag(name, attrs);
                final ViewGroup viewGroup = (ViewGroup) parent;
                final ViewGroup.LayoutParams params = viewGroup.generateLayoutParams(attrs);
                rInflate(parser, view, attrs);
                viewGroup.addView(view, params);
            }
        }

        parent.onFinishInflate();
    }
分享到:
评论

相关推荐

    android xml pull解析示例

    在Android系统中,XML Pull解析是一种轻量级且高效的解析XML文档的方法,它允许应用程序按需读取XML文档的节点,而无需加载整个文档到内存中。以下是关于Android XML Pull解析的详细知识讲解。 1. **XML Pull解析器...

    androidXML解析实例代码

    总结起来,Android中的XML解析是一个重要的任务,SAX解析器提供了一种高效且节省内存的方式处理XML数据。通过创建一个事件处理器并重写其方法,我们可以根据需要定制解析过程,轻松地提取XML文件中的标签和数据。在...

    六,Android Xml解析

    XML解析是将XML文档转换为Java对象的过程,这对于Android应用程序的资源配置、布局定义以及数据交换至关重要。这篇博文将深入探讨Android中的XML解析机制,包括DOM、SAX和Pull解析器三种主要方法。 首先,我们来看...

    android下解析xml文件的demo

    在"ReadXMLDemo"的代码实现中,可能包含了XML文件的读取、解析以及解析结果的显示。解析完成后,通常会将数据存储在自定义的Java对象中,或者直接在UI上展示。为了提高用户体验,我们还需要考虑错误处理,比如文件不...

    android xml多种解析生成

    Android XML 多种解析生成 Android 平台中,XML 文件解析和生成是非常重要的一部分。XML 文件可以存储和交换结构化数据,广泛应用于 Android 应用程序中。本文将介绍 Android 中使用多种解析和生成 XML 文件的方法...

    android xml 各种解析 经典完整代码

    下面将详细介绍Android中XML解析的几种主要方法及其应用。 1. DOM解析器(Document Object Model) DOM解析器一次性加载整个XML文档到内存中,形成一个树形结构,可以方便地遍历和访问每个节点。这种方式适合小规模...

    Android XML解析(DOM、PULL、SAX三种方式)

    Android系统提供了三种主要的XML解析方式:DOM(Document Object Model)、PULL(Pull Parser)和SAX(Simple API for XML)。每种方法都有其独特的特性和应用场景,下面将详细介绍这三种XML解析方式。 1. DOM解析...

    老罗Android视频开发教程 android解析xml文件代码

    老罗的Android视频教程深入浅出地讲解了如何在Android平台上解析XML文件,这对于开发者来说是非常重要的技能。以下是对这个主题的详细解释。 1. **XML基本概念** XML是一种自描述的语言,其结构清晰,易于机器和...

    android XML解析的三种方法源代码

    本教程将深入探讨Android中的三种主要XML解析方法:SAX(Simple API for XML)、Pull解析器以及DOM(Document Object Model),并提供源代码示例。 1. SAX解析: SAX是一种事件驱动的解析器,它不会将整个XML文档...

    C语言的Android binary XML(AXML)解析代码

    本篇文章将深入探讨C语言实现的AXML解析代码,并介绍相关的关键知识点。 1. **AXML文件结构**: AXML文件包含头部信息、资源ID引用表、字符串池、属性值以及XML节点树。这些部分都是紧凑地存储,减少了文件大小。...

    android XML三种解析及生成

    本文将深入探讨Android中的三种XML解析方式:SAX(Simple API for XML)、Pull Parser和DOM(Document Object Model),以及如何生成XML文件。 ### 1. SAX解析 SAX解析器是基于事件驱动的解析模型,它逐行读取XML...

    android SAX PULL 解析XML文件 代码 详解

    这种方式非常适合于简单的XML解析任务,且代码更加简洁。以下是一个基本的PULL解析示例: ```java XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); XmlPullParser parser = factory....

    android XML文件解析

    下面我们将详细介绍如何在Android中利用SAX框架模型实现XML文件解析。 一、SAX解析器工作原理 SAX解析器在读取XML文件时,遇到元素开始、结束、属性等事件时会触发回调函数,开发者可以在这些回调函数中处理相应的...

    android xml文件解析 SAX

    SAX是一种事件驱动的XML解析器,它不会像DOM解析器那样将整个XML文档加载到内存中,而是逐行读取,遇到每个元素或属性时触发相应的事件回调。这种方式节省了内存,特别适合处理大型XML文件。 1. **SAX解析的基本...

    XML解析代码

    本压缩包提供了XML解析与生成的四种方式的代码示例,这些都是Android Studio项目中的常见操作。 1. DOM解析 DOM(Document Object Model)是XML的一种树型结构表示,通过加载整个XML文档到内存,可以方便地访问和...

    android 解析XML文件代码

    总之,理解并熟练掌握XML解析对于Android开发者至关重要,无论是在处理本地数据还是与服务器进行数据交换,XML解析都扮演着关键角色。通过DOM、SAX和Pull解析,开发者可以根据实际需求选择最适合的方法,高效地处理...

    android java xml 解析生成jar

    本主题将详细讲解如何在Android环境中利用Java进行XML解析,并生成JDOM库的jar文件。 XML解析在Android中的重要性不言而喻,因为XML常被用来描述应用程序的配置、布局,甚至是网络通信的数据交换格式。Java提供了...

    Android XML和JSON解析代码

    XML解析主要分为两种方式:DOM(Document Object Model)和SAX(Simple API for XML)。 1. **DOM解析**:DOM解析器会将整个XML文档加载到内存中,形成一个树形结构,便于遍历和操作。在Android中,可以使用`org.w3...

    android XML本地解析实例

    二、Android中的XML解析实例 1. DOM解析实例: ```java DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = ...

Global site tag (gtag.js) - Google Analytics