文件解析要求,json解析和xml解析,前面文章说过json转实体类,这里就说说解析xml
内容:
Android工作室解析XML常见的三种方式:DOM将SAX(实现XML转实体类并打印输出)
效果演示:
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; persons> & lt;人id=?3”比; & lt; name>李雷& lt;/name> & lt; age> 30 & lt;/age> & lt;/person> & lt;人id=" 20 "比; & lt; name>韩梅梅& lt;/name> & lt; age> 25 & lt;/age> & lt;/person> & lt;/persons> 位于
公共类人{ 整数id; 字符串名称; 短的年龄; 公共整数getId () { 返回id; } 公共空间setId(整数id) { 这一点。id=id; } 公共字符串getName () { 返回名称; } 公共空间setName(字符串名称){ this.name=名称; } 公共短getAge () { 返回年龄; } 公共空间setAge(短年龄){ 这一点。年龄=年龄; } @Override 公共字符串toString () { 返回“{”+ " id=" + + id “name=" +名字+ \” ”,年龄=" +年龄+ '} '; } }
XMLtoEntityActivity
公开课XMLtoEntityActivity延伸AppCompatActivity { 私人TextView tv_show_entity; 私人弦弦=" "; @Override 保护空白>/* * *采用DOM解析XML内容 */公开课DOMService { 公共List{getperson (InputStream InputStream)抛出异常 List 人=new ArrayList<在();//获取DOM解析器工厂 DocumentBuilderFactory工厂=DocumentBuilderFactory.newInstance ();//获DOM解析器 DocumentBuilder builder=factory.newDocumentBuilder ();//将解析树放入内存,通过返回值文档来描述结果 文档文件=builder.parse (inputStream);//取得根元素& lt; personos> 根元素=document.getDocumentElement ();//取得所有人节点集合 节点列表personNodes=root.getElementsByTagName(“人”); for (int i=0;我& lt;personNodes.getLength ();我+ +){ 人的人=new ();//取得的人节点元素 元素personElement=(元素)personNodes.item(我);//取得属性值并设置ID person.setId (Integer.parseInt (personElement.getAttribute (" id ")));//获取人的子节点 节点列表personChilds=personElement.getChildNodes (); for (int j=0;j & lt;personChilds.getLength ();j + +) {//判断当前节点是否是元素类型的节点 如果(personChilds.item (j) .getNodeType ()==Node.ELEMENT_NODE) { 元素childElement=(元素)personChilds.item (j); 如果(“名字”.equals (childElement.getNodeName ())) {//获取孙节点的值 .getNodeValue person.setName (childElement.getFirstChild () ()); }else if(“年龄”.equals (childElement.getNodeName ())) { .getNodeValue person.setAge (Short.parseShort (childElement.getFirstChild () ())); } } } persons.add(人); } 返回的人; } } 浅谈Android工作室解析XML的三种方法