Android网络编程之二:DOM解析XML文件
来源:互联网 发布:mac保存图片快捷键 编辑:程序博客网 时间:2024/05/18 04:53
不用说,这个简单,只需要知道几个类就行了,具体类如下:
1、DocumentBuilderFactory
2、DocumentBuilder
3、Document
4、Element
5、NodeList
具体代码如下:
1、XML文件见上Android网络编程一
2、实体类如上
3、服务类:
public class PersonDOMService {
public static ArrayList<Person> getPersons(String uri) throws Exception
{
File file=new File(uri);
InputStream inStream=new FileInputStream(file);
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.parse(inStream);
Element root=document.getDocumentElement();//获取文档的根
NodeList personNodes=root.getElementsByTagName("person");
ArrayList<Person> persons=new ArrayList<Person>();
Person person;
Element perElement;
for(int i=0;i<personNodes.getLength();i++)
{
perElement=(Element)personNodes.item(i);
int id=new Integer(perElement.getAttribute("id"));
person=new Person();
person.setId(id);
NodeList childNodes=perElement.getChildNodes();//读取person下的节点
for(int j=0;j<childNodes.getLength();j++)
{
if(childNodes.item(j).getNodeType()==Node.ELEMENT_NODE)
{
if("name".equals(childNodes.item(j).getNodeName()))
{
person.setName(childNodes.item(j).getFirstChild().getNodeValue());
}
else if("sex".equals(childNodes.item(j).getNodeName()))
{
person.setSex(childNodes.item(j).getFirstChild().getNodeValue());
}
else
person.setAge(new Short(childNodes.item(j).getFirstChild().getNodeValue()));
}
}
persons.add(person);
}
inStream.close();
return persons;
}
}
4、PC端调用代码如下:
public class TestPerson {
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
String uri="D:\\JavaEETemp\\testsaxdemo\\src\\testsaxdemo\\demo\\persons.xml";
ArrayList<Person> persons=PersonDOMService.getPersons(uri);
Person person;
for(int i=0;i<persons.size();i++)
{
person=persons.get(i);
System.out.println("id="+person.getId()+",name="+person.getName()+",sex="+person.getSex()+",age="+person.getAge());
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
- Android网络编程之二:DOM解析XML文件
- android之dom解析xml 样式二
- 网络编程之android后台取服务器端xml解析之dom解析
- Android之DOM解析XML文件
- Android网络编程之三:XmlPullParser解析Xml文件
- Android网络编程之Pull解析XML文件
- Android开发使用Dom从网络端解析xml文件
- android解析xml文件的方式之DOM解析
- 小白自学Android路之 xml文件的DOM解析编程
- Android网络编程之sax解析xml
- Android网络编程之pull解析xml
- Android网络编程之XML解析
- android之网络编程解析XML
- android之dom解析xml
- Android 解析xml 之DOM
- android之dom解析xml
- Android之DOM解析XML
- Android xml之dom解析
- 前端相关书籍及博客等网上资源总结
- 黑马程序员-----高薪面试题-交通灯管理系统
- 今天是525:你真爱自己吗?-自我管理的最大瓶颈是你其实并不爱自己!
- eclipse加速启动,关闭updating indexes
- 中国人“白受的苦”
- Android网络编程之二:DOM解析XML文件
- 技术架构规划(个人项目)
- 一步一步写算法(之洗牌算法)
- cocos2.X版本lua端使用定时器的方法
- 黑马程序员-----网络编程
- 杭电-{A} + {B}
- 方法addKeyListener
- jQuery超酷苹果3D音乐专辑封面CoverFlow特效
- 黑马程序员-----IO流