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.本文只用于本人自身学习记录,如有侵权,请立即通知本人更改或删除