package com.example.demo13;

import android.content.res.XmlResourceParser;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn=(Button)findViewById(R.id.button1);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                readBooksXMl();
            }
        });
    }

    public void readBooksXMl(){
        XmlResourceParser xrp=getResources().getXml(R.xml.books);
        try {
            StringBuilder sb=new StringBuilder();
            while (xrp.getEventType()!= XmlPullParser.END_DOCUMENT){
                if(xrp.getEventType()==XmlPullParser.START_TAG){
                    String tagName=xrp.getName();
                    if(tagName.equals('book')){
                        String bookName=xrp.getAttributeValue(null,'price');
                        sb.append('价格:');
                        sb.append(bookName);
                        String bookPrice=xrp.getAttributeValue(1);
                        sb.append('出版日期:');
                        sb.append(bookPrice);
                        sb.append('书名:');
                        sb.append(xrp.nextText());
                    }
                    sb.append('\n');
                }
                xrp.next();
            }
            TextView show=(TextView) findViewById(R.id.textview1);
            show.setText(sb.toString());
        }catch (XmlPullParserException| IOException e) {
            e.printStackTrace();
        }
    }
}

根据提供的代码,你应该提供一个名为 'activity_main.xml' 的布局文件,该文件包含一个按钮(id 为 'button1')和一个 TextView(id 为 'textview1')。

以下是示例布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="读取书籍信息" />

    <TextView
        android:id="@+id/textview1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp" />

</LinearLayout>

请注意,这只是一个示例布局,你可以根据自己的需求进行调整。

此外,你需要创建一个名为 'books.xml' 的 XML 文件,并将其放在你的项目的 'res/xml' 文件夹中。该文件应该包含你需要解析的书籍信息。

例如,'books.xml' 文件可以如下所示:

<?xml version="1.0" encoding="utf-8"?>
<books>
    <book price="100" date="2023-10-26">
        Android 开发实战
    </book>
    <book price="150" date="2023-11-01">
        Java 编程入门
    </book>
</books>

将这些代码添加到你的项目中,运行应用,点击按钮,你就可以在 TextView 中看到从 'books.xml' 文件中解析出来的书籍信息。

Android 读取 XML 文件示例:使用 XmlPullParser 解析书籍信息

原文地址: https://www.cveoy.top/t/topic/nDki 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录