根据结点获取xml文件中的部分数据
2016-12-22 15:12
489 查看
public class HhtParsePathXml {
private Logger logger = Logger.getLogger(getClass());
private String filePath;
private Document document;
public HhtParsePathXml(String filePath) {
this.filePath = filePath;
this.load(this.filePath);
}
private void load(String filePath){
File file = new File(filePath);
if (file.exists()) {
SAXReader saxReader = new SAXReader();
try {
document = saxReader.read(file);
} catch (DocumentException e) {
logger.error(e.getMessage());
throw new RuntimeException(e);
}
} else{
logger.error("xml file not found");
throw new RuntimeException("xml file not found");
}
}
public String getXmlNode(String elementPath) {
if(document!=null)
{
return document.selectSingleNode(elementPath).asXML();
}else
{
return null;
}
}
public Element getElementObject (String elementPath)
{
return (Element)document.selectSingleNode(elementPath);
}
public boolean isExist(String elementPath){
boolean flag = false;
Element element = this.getElementObject(elementPath);
if(element != null) flag = true;
return flag;
}
public String getElementText(String elementPath) {
Element element = this.getElementObject(elementPath);
if(element != null){
return element.getText().trim();
}else{
return null;
}
}
/**
* @param args
*/
public static void main(String[] args) {
HhtParsePathXml parseXml=new HhtParsePathXml("L2015080210612871.xml");
Element element=parseXml.getElementObject("/data/body");
System.out.println(element.asXML());
}
}
private Logger logger = Logger.getLogger(getClass());
private String filePath;
private Document document;
public HhtParsePathXml(String filePath) {
this.filePath = filePath;
this.load(this.filePath);
}
private void load(String filePath){
File file = new File(filePath);
if (file.exists()) {
SAXReader saxReader = new SAXReader();
try {
document = saxReader.read(file);
} catch (DocumentException e) {
logger.error(e.getMessage());
throw new RuntimeException(e);
}
} else{
logger.error("xml file not found");
throw new RuntimeException("xml file not found");
}
}
public String getXmlNode(String elementPath) {
if(document!=null)
{
return document.selectSingleNode(elementPath).asXML();
}else
{
return null;
}
}
public Element getElementObject (String elementPath)
{
return (Element)document.selectSingleNode(elementPath);
}
public boolean isExist(String elementPath){
boolean flag = false;
Element element = this.getElementObject(elementPath);
if(element != null) flag = true;
return flag;
}
public String getElementText(String elementPath) {
Element element = this.getElementObject(elementPath);
if(element != null){
return element.getText().trim();
}else{
return null;
}
}
/**
* @param args
*/
public static void main(String[] args) {
HhtParsePathXml parseXml=new HhtParsePathXml("L2015080210612871.xml");
Element element=parseXml.getElementObject("/data/body");
System.out.println(element.asXML());
}
}
相关文章推荐
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- 从xml文件中获取相关数据,解决xml中部分数据没有结束的问题
- 北京CMMB信号ESG的ServicePara部分的XML数据文件--8月份数据
- 3个java类:连接数据库类,获取文件后缀类,从数据库中读入数据生成XML文件
- android获取目录文件values/arrays.xml数据的方法,简易快捷
- Android中通过代码获取arrays.xml文件中的数据
- Android——获取和输出XML数据文件
- 北京CMMB信号ESG的Content部分的XML数据文件--8月份数据
- 类型转换和获取XML文件中保存的数据
- web项目xml配置文件获取数据 和TDES 加码
- 如何获取web项目hibernate.cfg.xml配置文件中的数据
- 北京CMMB信号ESG的ServiceAux部分的XML数据文件--8月份数据
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- mybatis中 mapper.xml文件中,获取数组中指定的位置的数据
- 北京CMMB信号ESG的Service部分的XML数据文件--8月份数据
- 在XML中增加节点 . 在原有的XML文件中,根据节点,添加数据
- Android数据存储之DOM解析XML文件(输出部分)
- 使用GridView来获取xml文件数据
- Android中通过代码获取arrays.xml文件中的数据
- Android中通过代码获取arrays.xml文件中的数据