dom方法读取xml(不常用)
Book.java
package com.xml.demo;
public class Book {
private int id;
private String name;
private Float money;
public int getId() {
return id;
}
@Override
public String toString() {
return "Book [id=" + id + ", name=" + name + ", money=" + money + "]";
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Float getMoney() {
return money;
}
public void setMoney(Float money) {
this.money = money;
}
public Book() {
// TODO Auto-generated constructor stub
}
}
DemoServer.java
package com.xml.demo;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DemoServer {
public DemoServer() {
// TODO Auto-generated constructor stub
}
public List<Book> getBooks(InputStream inputstream) throws Exception
{
List<Book> list=new ArrayList<Book>();
//创建一个document工厂
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.parse(inputstream);
Element element=document.getDocumentElement();//获得稳定的元素节点
NodeList bookNodes=element.getElementsByTagName("book");
for(int i=0;i<bookNodes.getLength();i++)
{
Element bookElement=(Element) bookNodes.item(i);
Book book=new Book();
book.setId(Integer.parseInt(bookElement.getAttribute("id")));
NodeList childNodes=bookElement.getChildNodes();
for(int j=0;j<childNodes.getLength();j++)
{
if(childNodes.item(j).getNodeType()==Node.ELEMENT_NODE)
{
if("name".equals(childNodes.item(j).getNodeName()))
{
book.setName(childNodes.item(j).getFirstChild().getNodeValue());
}else if("price".equals(childNodes.item(j).getNodeName()))
{
book.setMoney(Float.parseFloat(childNodes.item(j).getFirstChild().getNodeValue()));
}
}
}
list.add(book);
}
return list;
}
/**
* @param args
*/
public static void main(String[] args) {
String path="http://weikew.gotoip55.com/person.xml";
InputStream inputstream=HttpUtils.getXML(path);
DemoServer server=new DemoServer();
try {
List<Book> list=server.getBooks(inputstream);
for(Book book:list)
{
System.out.println(book.toString());
}
} catch (Exception e) {
// TODO: handle exception
}
}
}
HttpUtils.java
package com.xml.demo;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpUtils {
public HttpUtils() {
// TODO Auto-generated constructor stub
}
public static InputStream getXML(String path)
{
InputStream inputStream=null;
try {
URL url=new URL(path);
if(url!=null)
{
HttpURLConnection connection=(HttpURLConnection)url.openConnection();
connection.setConnectTimeout(3000);
connection.setDoInput(true);
connection.setRequestMethod("GET");
int code=connection.getResponseCode();
if(code==200)
{
inputStream=connection.getInputStream();
}
}
} catch (Exception e) {
// TODO: handle exception
}
return inputStream;
}
}
person.xml
<?xml version="1.0" encoding="utf-8"?> <books> <book id="20"><name>张老进</name><price>22.2</price></book> <book id="33"><name>李法在</name><price>44.5</price></book></books>
dom方法读取xml(不常用)的更多相关文章
- 读取XML文件内容
myeclipse中类的格式 上面中的RunMain.java为程序执行的入口,JdbcUtil.java为实体类,XmlDocumentUtil.java执行解释xml文件与获取里面的属性,程序所需 ...
- easyui及读取xml
本地测试地址例如http://localhost:6541/TreeExam/AuthorityTree TreeExam 是TreeExamController AuthorityTree是Tree ...
- C#中常用的读取xml的几种方法(转)
本文完全来源于http://blog.csdn.net/tiemufeng1122/article/details/6723764,仅作个人学习之用. XML文件是一种常用的文件格式,例如WinFor ...
- C#中常用的几种读取XML文件的方法
1.C#中常用的几种读取XML文件的方法:http://blog.csdn.net/tiemufeng1122/article/details/6723764/
- javascript读取xml的方法【转载】
jquery读取xml文件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...
- C#中经常使用的几种读取XML文件的方法
XML文件是一种经常使用的文件格式,比如WinForm里面的app.config以及Web程序中的web.config文件,还有很多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖 ...
- Dom方法,解析XML文件
Dom方法,解析XML文件的基本操作 package com.demo.xml.jaxp; import java.io.IOException; import javax.xml.parsers.D ...
- PHP原生DOM对象操作XML的方法解答
创建一个新的XML文件,并且写入一些数据到这个XML文件中. /** 创建xml文件*/ $info = array(array('obj' => 'power','info' => 'p ...
- C#读取XML文件的方法
先写一个xml文件: <?xml version="1.0" encoding="utf-8" ?> <bookste> <!-- ...
随机推荐
- jQuery显示与隐藏返回顶层的箭头
<script type="text/javascript"> $(window).scroll(function(){ var d ...
- P1896 [SCOI2005]互不侵犯King
题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 输入输出格式 输入格式: 只有一行,包 ...
- centos7 install mysql
1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-co ...
- Android 4.0 新增的显示数据集的桌面控件
setRemoteAdapter (int viewId, Intent intent):该方法可以使用 Intent 更新 RemoteViews 中viewId 对应的组件. 上面方法的 Inte ...
- 龙杰ACR122S NFC读卡器
龙杰智能卡有限公司(ACS,龙杰智能卡控股有限公司之全资附属公司,香港联交所上市编号:8210)创立于1995年,是亚太地区第一大.全球三大智能卡读写器供应商之一.ACS被<福布斯亚洲>杂 ...
- KEIL C51的XBYTE关键字
The XBYTE macro allows you to access individual bytes in the external data memory of the 8051. You m ...
- treap修订
#include<cstdio> #include<cmath> #include<algorithm> #include<ctime> #includ ...
- Linux下的getline函数
最近在做国嵌的mp3项目,在mp3主控程序中用到了这个函数,挺好使的,在这里记录一下.注意是linux下的,不是C++中的. 函数原型 ssize_t getline(char **lineptr, ...
- ubuntu14.04.2 添加ppa remastersys源 镜像ubuntu系统
- L - Vases and Flowers - hdu 4614(区间操作)
题意:有两种操作,第一种从A开始插花,如果有花就跳到下一个,然后输出最后一个花瓶的编号,如果花瓶不够把多余的花丢掉.操作2把区间清空 分析:很明显的线段树操作,就是插花的时候麻烦一下,需要先找出来他剩 ...