美文网首页
Android 应用资源-使用原始xml文件

Android 应用资源-使用原始xml文件

作者: gaookey | 来源:发表于2022-02-12 17:22 被阅读0次
image.png
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 获取bn按钮,并为该按钮绑定事件监听器
        Button bn = findViewById(R.id.btn);
        bn.setOnClickListener(view -> {
            // 根据XML资源的ID获取解析该资源的解析器
            // getXml()方法返回XmlResourceParser对象
            // XmlResourceParser是XmlPullParser的子类
            XmlResourceParser xrp = getResources().getXml(R.xml.books);
            try {
                StringBuilder sb = new StringBuilder();
                // 还没有到XML文档的结尾处
                while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) {
                    // 如果遇到开始标签
                    if (xrp.getEventType() == XmlResourceParser.START_TAG) {
                        // 获取该标签的标签名
                        String tagName = xrp.getName();
                        // 如果遇到book标签
                        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 = findViewById(R.id.show);
                show.setText(sb.toString());
            } catch (Exception e) {
                e.printStackTrace();
            }
        });
    }
}

res/xml/books.xml

<?xml version="1.0" encoding="utf-8"?>
<books>
    <book
        price="101.12"
        数值="165">Android
    </book>
    <book
        price="1000"
        数值="15">Android
    </book>
    <book
        price="1012.01"
        数值="95">Android
    </book>
</books>

相关文章

网友评论

      本文标题:Android 应用资源-使用原始xml文件

      本文链接:https://www.haomeiwen.com/subject/zbzflrtx.html