您的位置:首页 > 编程语言 > Java开发

java中读xml文件,获取文件本身所在的磁盘位置

2014-04-22 21:22 302 查看

获取文件本身所在的磁盘位置

1.Class.getResource("")方法 http://blog.csdn.net/a15501628162/article/details/24326383
2.在通过servlet中的request获得

request.getServletContext();

ServletContext servletContext=request.getServletContext();

String realPath = servletContext.getRealPath("/WEB-INF/classes/Adress.xml");

File f = new File(realPath);



java中读xml文件







1.Adress.xml

<?xml version="1.0" encoding="UTF-8"?>

<hcData>

<Adress>

<pro>北京</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>上海</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>天津</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>重庆</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>黑龙江</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>吉林</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>辽宁</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>内蒙古</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>山西</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>河北</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>河南</pro>

<city></city>

<jxs></jxs>

</Adress>

<Adress>

<pro>山东</pro>

<city>青岛</city>

<jxs>青岛店</jxs>

</Adress>

<Adress>

<pro>江苏</pro>

<city>南京</city>

<jxs>南京店</jxs>

</Adress>

<Adress>

<pro>江苏</pro>

<city>淮安</city>

<jxs>淮安店</jxs>

</Adress>

</hcData>

2.XmlObject.java

package edu.cslg.huachen.util;

public class XmlObject {

private String pro;

private String city;

private String jxs;

public String getPro() {

return pro;

}

public void setPro(String pro) {

this.pro = pro;

}

public String getCity() {

return city;

}

public void setCity(String city) {

this.city = city;

}

public String getJxs() {

return jxs;

}

public void setJxs(String jxs) {

this.jxs = jxs;

}

}

3.ReadXml.java

package edu.cslg.huachen.util;

import java.io.File;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import javax.servlet.ServletContext;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

public class ReadXml {

public List<XmlObject> readXml(HttpServletRequest request){

// 1.在servlet中通过request获得

// request.getServletContext();

// ServletContext servletContext=request.getServletContext();

// String realPath = servletContext.getRealPath("/WEB-INF/classes/Adress.xml");

// File f = new File(realPath);

// 2.在action中读取

// ServletContext servletContext = ServletActionContext.getServletContext();

// servletContext = servletContext.getRealPath("/WEB-INF/classes/Adress.xml");

// File f = new File(realPath);

// 2.通过Class.getResource("")方法 读取

File f = new File(getClass().getResource("/Adress.xml").getFile());

List<XmlObject> xmlList = new ArrayList<XmlObject>();

SAXReader reader = new SAXReader();

try {

Document document = reader.read(f);

Element element = document.getRootElement();

Iterator<Element> it = element.elementIterator("Adress");

while(it.hasNext()){

XmlObject xmlObject = new XmlObject();

Element ele = it.next();

xmlObject.setPro(ele.elementText("pro"));

xmlObject.setCity(ele.elementText("city"));

xmlObject.setJxs(ele.elementText("jxs"));

xmlList.add(xmlObject);

}

} catch (DocumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return xmlList;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: