package com;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.jdom.input.SAXBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.helpers.DefaultHandler;
public class ReadXmlFile {
String filePath="E:\\workspace\\test\\src\\fileClassCountSql.xml";
//第一种 用DOM解析XML文档
public String getValueByAttrForDom(String attrId) throws Exception {
DocumentBuilderFactory dBuilderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder dBuilder = dBuilderFactory.newDocumentBuilder();
Document document = dBuilder
.parse(getFilePath()+File.separator+"fileClassCountSql.xml");
// 得到根元素
Element rootElement = document.getDocumentElement();
System.out.println("rootElement=" + rootElement);
NodeList nameList2 = rootElement.getElementsByTagName("name");
for (int i = 0; i < nameList2.getLength(); i++) {
Element nameElement = (Element) nameList2.item(i);
if ((nameElement.getAttribute("id")).equals(attrId)) {
return nameElement.getTextContent();
}
}
return null;
}
//第二种用SAX解析XML文档
public String getValueByAttrForSax(String attrId)throws Exception{
SAXParserFactory sFactory=SAXParserFactory.newInstance();
SAXParser sp= sFactory.newSAXParser();
sp.parse(filePath, new DefaultHandler());
return null;
}
//使用Jdom对XML进行解析
public String getValueByAttrForJdom(String attrName){
/* SAXBuilder saBuilder=new SAXBuilder();
String sqlString="";
org.jdom.Document document=saBuilder.build(getCurrentPath()+File.separator+fileName);
Element root=document.getRootElement();
List list=root.getChildren();
for (int i = 0; i < list.size(); i++) {
Element element=(Element)list.get(i);
if(element.getAttributeValue("id").equals(attrName)){
sqlString=element.getValue();
return sqlString;
}
}
return sqlString;*/
return null;
}
public String getFilePath() throws Exception{
String pathString=ReadXmlFile.class.getProtectionDomain().getCodeSource().getLocation().getPath();
pathString=java.net.URLDecoder.decode(pathString, "UTF-8");
int index = pathString.lastIndexOf("/classes");
pathString = pathString.substring(0, index);
System.out.println("pathString="+pathString);
return pathString;
}
static public String getCurrentPath() throws UnsupportedEncodingException {
String path = ReadXmlFile.class.getProtectionDomain().getCodeSource().getLocation().getFile();
path = java.net.URLDecoder.decode(path, "UTF-8");
int index = path.lastIndexOf("/classes");
path = path.substring(0, index);
System.out.println("CB xml path = [ " + path + " ]");
return path;
}
public static void main(String[] args) throws Exception {
StringBuilder builder=new StringBuilder(new ReadXmlFile().getValueByAttrForDom("ivpnFirstInsertSql"));
String sqlString=new ReadXmlFile().getValueByAttrForDom("ivpnFirstInsertSql");
String s1= sqlString.replaceAll("p_lastCycle","20130731");
String s2=s1.replaceAll("p_preCycle","20130701");
System.out.println(s2);
}
}
2013-08-01 19:37 记 @jinrongdajie31.xichengqu.beijing
分享到:
相关推荐
易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 易语言 xml解析 教程 带源码
解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml解析xml
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,...
C# XML解析方式
XML解析、XML生成工具,灵活好用的XML解析器、封装接口简单易用
XML解析技术研究XML解析技术研究XML解析技术研究XML解析技术研究XML解析技术研究
使用dom4j解析XML,用于解析复杂XML,多层镶嵌XML,多层循环xml解析,解析完保存到实体类
LabVIEW XML解析器示例, 包含xml加载,保存,解析等功能
minixml是适合嵌入式系统的xml解析器,支持dom
ios开发,简单的xml解析,亲测可用,自己认真研究研究,不要遇到点问题就放弃。
利用jdom解析复杂xml到bean中: 1.依赖的jar:jdom-1.1.jar,commons-beanutils.1.8.3.jar,commons-logging-1.1.1.jar ...用模板将xml解析 具体可以打断点运行主类:/xml_parse/src/com/vhl/main/StartMain.java,观察
Mini-XML 是一个小型 XML 解析库,您可以使用它来读取应用程序中的 XML 数据文件或字符串,而无需大型非标准库 读取 UTF-8 和 UTF-16 并写入 UTF-8 编码的 XML 文件和字符串。 数据存储在链表树结构中,保留 XML ...
java心电图xml解析源码。
XML 解析XML 解析XML 解析XML 解析XML 解析XML 解析XML 解析
java实现xml解析word文档代码实现,通过解析word书签实现java动态写入word文档。方便使用。
XML解析 很全 一看就懂的东东。。。。。。。。。
rss阅读器与 XML解析 XML RSS 阅读器 Winfom ASP.NET rss阅读器与 XML解析 XML RSS 阅读器 Winfom ASP.NET rss阅读器与 XML解析 XML RSS 阅读器 Winfom ASP.NET rss阅读器与 XML解析 XML RSS 阅读器 Winfom ASP.NET ...
XML解析支持库
C++ XML解析之TinyXML篇
tinyxml解析XML文件