Android学习(26)XML文件解析

Android学习(26)XML文件解析

XML文件在android手机中处理xml数据是很常见的事情,通常在不同平台传输数据的时候,我们就可以使用XML,XML与平台无关,被广泛地运用于数据通信中。

1.在res文件夹下新建一个raw文件夹,raw文件夹用于放置存储数据的xml文件。在raw文件夹下新建一个data.xml文件

这里写图片描述
data.xml

<?xml version="1.0" encoding="utf-8"?>
<data>
    <classes>
        <c stu="1">Android</c>
        <c stu="2">Iphone</c>
    </classes>
</data>
2.在Activity中解析data.xml文件中的数据
public class ReadXMLActivity extends AppCompatActivity {

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

        InputStream in = getResources().openRawResource(R.raw.data);

        try {
            byte[] bytes = new byte[in.available()];
            in.read();
            String XMLStr = new String(bytes,"utf-8");
            in.reset();
            System.out.println(XMLStr);
            //开始解析
            DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
            Document doc = builder.parse(in);
            //定义一个节点
            Node node = doc.getFirstChild();
            //获得根节点
            System.out.println("第一个子节点" + node.getNodeName());
            //获得子节点"c"
            NodeList list = doc.getElementsByTagName("c");
            //循环打印所有子节点内容
            NamedNodeMap map;
            for (int i = 0; i < list.getLength(); i++){
                node = list.item(i);
                map = node.getAttributes();
                System.out.println(node.getTextContent() + "stu"
                + map.getNamedItem("stu").getNodeValue());
            }
        }catch (Exception e){
            e.printStackTrace();
        }


    }
}

这里写图片描述


声明:
1.知识点来源于《网易云课堂》——《Android基础视频教程》
2.本文只用于本人自身学习记录,如有侵权,请立即通知本人更改或删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你这个橘子不要皮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值