加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用原始的XML资源

发布时间:2020-12-16 05:06:34 所属栏目:百科 来源:网络整理
导读:实例 在res文件夹下建立xml文件夹,在该文件夹下建立 car.xml ?xml version="1.0" encoding="UTF-8"? cars car price="22w" brand="大众"迈腾/car car price="45w" brand="宝马"535li/car car price="36w" brand="奥迪"A6/car /cars 其他文件 activity_main.

实例


在res文件夹下建立xml文件夹,在该文件夹下建立
car.xml
<?xml version="1.0" encoding="UTF-8"?>
<cars>
<car price="22w" brand="大众">迈腾</car>
<car price="45w" brand="宝马">535li</car>
<car price="36w" brand="奥迪">A6</car>
</cars>

其他文件

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">


<Button android:id="@+id/but"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始解析"
android:layout_gravity="center_horizontal"/>

<TextView android:id="@+id/result"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

</LinearLayout>

MainActivity.java

package com.example.resourcexml; import android.os.Bundle; import android.app.Activity; import android.content.res.XmlResourceParser; import android.text.style.SuperscriptSpan; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView result=(TextView) super.findViewById(R.id.result); Button but=(Button) super.findViewById(R.id.but); but.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { //根据xml资源的ID解析资源 //XmlResourceParser是XmlPullParser的子类 XmlResourceParser xrp=getResources().getXml(R.xml.car); try{ StringBuilder sb=new StringBuilder(""); /* * 文档刚被初始化,所以它应该位于文档的开始,事件应该是START_DOCUMENT, * 可以通过XmlPullParser.getEventType() */ //如果还没有到文档的结尾 while(xrp.getEventType()!=XmlResourceParser.END_DOCUMENT){ //如果遇到了开始标签 if(xrp.getEventType()==XmlResourceParser.START_TAG){ //获取该标签的标签名 String tagName=xrp.getName(); //如果遇到car标签 if(tagName.equals("car")){ //根据属性名来获取属性值 String carPrice=xrp.getAttributeValue(0); String carBrand=xrp.getAttributeValue(1); /* * 如果当前节点是START_TAG节点,而且下一个节点是TEXT节点,那么TEXT节点内容被返回。 * 或者如果下一个节点是END_TAG节点那就返回空String,否则抛出异常 */ String carModel=xrp.nextText(); sb.append("价格:"+carPrice); sb.append("品牌:"+carBrand); sb.append("型号:"+carModel); } sb.append("n"); } //获取解析器的下一个事件 xrp.next(); } result.setText(sb); } catch(Exception e){ e.printStackTrace(); } } }); } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读