您的位置:首页 > 其它

安卓XML资源文件基本知识

2017-02-04 15:28 106 查看
在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();
}
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: