202005021116 2025-04-03 11:51 采纳率: 50%
浏览 4
已结题

如何解析xml文件中的这些数据?


<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<hierarchy rotation="0">
    <node index="0" text="" resource-id="" class="android.widget.FrameLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,0][1080,1824]">
        <node index="0"text="" resource-id=""class="android.widget.LinearLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,0][1080,1824]">
            <node index="0"text="" resource-id="android:id/content"class="android.widget.FrameLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,0][1080,1824]">
                <node index="0"text="" resource-id="com.android.settings:id/settings_homepage_container"class="android.view.ViewGroup"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,0][1080,1824]">
                    <node index="0"text="" resource-id=""class="android.widget.LinearLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,48][1080,208]">
                        <node index="0"text="" resource-id="com.android.settings:id/search_bar"class="com.google.android.material.card.MaterialCardView"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[32,80][1048,176]">
                            <node index="0"text="" resource-id=""class="android.widget.FrameLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[32,80][1048,176]">
                                <node index="0"text="" resource-id="com.android.settings:id/search_action_bar"class="android.view.ViewGroup"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="true"enabled="true"focusable="true"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[32,80][1048,176]">
                                    <node index="0"text="" resource-id=""class="android.widget.ImageButton"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="true"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[32,80][140,176]" />
                                    <node index="1"text="Search settings" resource-id="com.android.settings:id/search_action_bar_title"class="android.widget.TextView"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[156,106][378,149]" />
                                </node>
                                <node NAF="true"index="1"text="" resource-id="com.android.settings:id/account_avatar"class="android.widget.ImageView"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="true"enabled="true"focusable="true"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[952,80][1048,176]" />
                            </node>
                        </node>
                    </node>
                    <node index="1"text="" resource-id="com.android.settings:id/main_content_scrollable_container"class="android.widget.ScrollView"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="true"focused="false"scrollable="true" long-clickable="false"password="false"selected="false"bounds="[0,48][1080,1824]">
                        <node index="0"text="" resource-id="com.android.settings:id/homepage_container"class="android.widget.LinearLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="true"focused="true"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,48][1080,1824]">
                            <node index="1"text="" resource-id="com.android.settings:id/main_content"class="android.widget.FrameLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,208][1080,1824]">
                                <node index="0"text="" resource-id="com.android.settings:id/container_material"class="android.widget.LinearLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,208][1080,1824]">
                                    <node index="0"text="" resource-id="android:id/list_container"class="android.widget.FrameLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,208][1080,1824]">
                                        <node index="0"text="" resource-id="com.android.settings:id/recycler_view"class="androidx.recyclerview.widget.RecyclerView"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="true"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,208][1080,1824]">
                                            <node index="0"text="" resource-id=""class="android.widget.LinearLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="true"enabled="true"focusable="true"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[0,208][1080,353]">
                                                <node index="0"text="" resource-id="com.android.settings:id/icon_frame"class="android.widget.LinearLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[32,236][144,324]">
                                                    <node index="0"text="" resource-id="android:id/icon"class="android.widget.ImageView"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[32,244][104,316]" />
                                                </node>
                                                <node index="1"text="" resource-id=""class="android.widget.RelativeLayout"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[144,208][1048,353]">
                                                    <node index="0"text="Network &amp; internet" resource-id="android:id/title"class="android.widget.TextView"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[144,240][408,283]" />
                                                    <node index="1"text="Wi‑Fi, mobile, data usage, and hotspot" resource-id="android:id/summary"class="android.widget.TextView"package="com.android.settings" content-desc=""checkable="false"checked="false"clickable="false"enabled="true"focusable="false"focused="false"scrollable="false" long-clickable="false"password="false"selected="false"bounds="[144,283][616,321]" />
                                                </node>


</hierarchy>
  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-04-03 12:13
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解析 XML 文件中的数据

    你想解析 XML 文件中的数据,具体来说是解析 Android 中的 XML 文件。 Android 提供了一个名为 XmlPullParser 的类,可以用来解析 XML 文件。

    下面是一个简单的示例代码:

    import org.xmlpull.v1.XmlPullParser;
    import org.xmlpull.v1.XmlPullParserException;
    import java.io.IOException;
    import java.io.InputStream;
    
    public class XmlParser {
        public static void parseXml(InputStream inputStream) throws XmlPullParserException, IOException {
            XmlPullParser parser = Xml.newPullParser();
            parser.setInput(inputStream, "UTF-8");
            int eventType = parser.getEventType();
            while (eventType != XmlPullParser.END_DOCUMENT) {
                if (eventType == XmlPullParser.START_TAG) {
                    String tagName = parser.getName();
                    if (tagName.equals("hierarchy")) {
                        // 处理 hierarchy 标签
                        System.out.println("Found hierarchy tag");
                    } else if (tagName.equals("rotation")) {
                        // 处理 rotation 标签
                        System.out.println("Found rotation tag");
                    }
                }
                eventType = parser.next();
            }
        }
    }
    

    在上面的代码中,我们使用 XmlPullParser 对象来解析 XML 文件。我们首先设置输入流和编码格式,然后使用 getEventType() 方法来获取当前事件类型。如果事件类型是 START_TAG,我们就可以获取当前标签的名称,并根据名称来处理相应的逻辑。

    在你的情况下,你可以根据需要修改代码,来处理不同的标签和数据。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月11日
  • 已采纳回答 4月3日
  • 创建了问题 4月3日