安卓XML资源文件基本知识

来源:互联网 发布:appserv 端口 编辑:程序博客网 时间:2024/06/06 00:49

在res文件目录下新建book资源文件

<?xml version="1.0" encoding="utf-8"?><book>    <books price="100" 出版日期="2017">你好中国_1</books>    <books price="100" 出版日期="2016">你好中国_2</books>    <books price="100" 出版日期="2015">你好中国_3</books></book>

在活动中的Java代码如下

import android.content.res.XmlResourceParser;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;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 button=(Button)findViewById(R.id.button1);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                XmlResourceParser xml=getResources().getXml(R.xml.book);                StringBuffer sb=new StringBuffer("");                try {                    while(xml.getEventType()!= XmlPullParser.END_DOCUMENT){                        if(xml.getEventType()==XmlPullParser.START_TAG){                            String tagName=xml.getName();                            if(tagName.equals("books")){                                //根据属性名获取属性值                                String bookName=xml.getAttributeValue(null,"price");                                sb.append("价格:");                                sb.append(bookName);                                //根据属性索引来获取属性值                               // String bookPrice=xml.getAttributeValue(1);                                String bookPrice=xml.getAttributeValue(null,"出版日期");                                sb.append("出版日期 ");                                sb.append(bookPrice);                                sb.append("书名");                                //获取文本节点的值                                sb.append(xml.nextText());                            }                            sb.append("\n");                        }                        //获取解析器的下一个事件                        xml.next();                    }                    EditText show=(EditText)findViewById(R.id.Edittext1);                    show.setText(sb.toString());                } catch (XmlPullParserException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }            }        });    }}
1 0
原创粉丝点击