JDOM解析:
logger.info("开始解析businessfactoryname.xml文件......");
SAXBuilder sax = new SAXBuilder();
try {
Document doc = sax.build(path);
Element ele = doc.getRootElement();
logger.info("得到了根元素:" + ele.getName());
List list = ele.getChildren("factory-str-content"); Iterator it = list.iterator();
while (it.hasNext()) { Element element = (Element) it.next();
String key=element.getChild("content-key").getTextTrim();
String value=element.getChild("content-value").getTextTrim();
BusinessFactoryName.factoryname.put(key,value);
}
logger.info("解析businessfactory.xml文件完成......");
}
catch (Exception ex) {
logger.info("BusinessFactory_XML异常......");
ex.printStackTrace();
}
businessfactory.xml文件:
<?xml version="1.0" encoding="gbk"?>
<factory-str>
<factory-str-content>
<description>登陆业务类工厂</description>
<content-key>LOGIN_FACTORY</content-key>
<content-value>com.friend.factory.LoginFactory</content-value>
</factory-str-content>
<factory-str>
logger.info("开始解析businessfactoryname.xml文件......");
SAXBuilder sax = new SAXBuilder();
try {
Document doc = sax.build(path);
Element ele = doc.getRootElement();
logger.info("得到了根元素:" + ele.getName());
List list = ele.getChildren("factory-str-content"); Iterator it = list.iterator();
while (it.hasNext()) { Element element = (Element) it.next();
String key=element.getChild("content-key").getTextTrim();
String value=element.getChild("content-value").getTextTrim();
BusinessFactoryName.factoryname.put(key,value);
}
logger.info("解析businessfactory.xml文件完成......");
}
catch (Exception ex) {
logger.info("BusinessFactory_XML异常......");
ex.printStackTrace();
}
businessfactory.xml文件:
<?xml version="1.0" encoding="gbk"?>
<factory-str>
<factory-str-content>
<description>登陆业务类工厂</description>
<content-key>LOGIN_FACTORY</content-key>
<content-value>com.friend.factory.LoginFactory</content-value>
</factory-str-content>
<factory-str>
/**
*这里是一个利用DOM4J修改xml文件的例子
*
*/
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Attribute;
import java.util.List;
import java.util.Iterator;
import org.dom4j.io.XMLWriter;
import java.io.*;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader; public class Dom4JUp{ public void modifyDocument(File inputXml){
try{
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(inputXml); /**
*inputXml 是从 D:/DOM4JText/4j.xml 创建的 java.io.File。
*使用 XPath 表达式从 article 元素中获得 level 节点列表。
*如果 level 属性值是“Intermediate”则改为“Introductory”。
*/
List list = document.selectNodes("//article/@level" );
Iterator iter=list.iterator();
while(iter.hasNext()){
Attribute attribute=(Attribute)iter.next();
if(attribute.getValue().equals("Intermediate"))
attribute.setValue("Introductory"); } list = document.selectNodes("//article/@date" );
iter=list.iterator();
while(iter.hasNext()){
Attribute attribute=(Attribute)iter.next();
if(attribute.getValue().equals("December-2001"))
attribute.setValue("October-2002"); }
/**
*获取 article 元素列表,
*从 article 元素中的 title 元素得到一个迭代器,
*并修改 title 元素的文本
*
*/ list = document.selectNodes("//article" );
iter=list.iterator();
while(iter.hasNext()){
Element element=(Element)iter.next();
Iterator iterator=element.elementIterator("title");
while(iterator.hasNext()){
Element titleElement=(Element)iterator.next();
if(titleElement.getText().equals("Java configuration with XML Schema"))
titleElement.setText("Create flexible and extensible XML schema"); } } list = document.selectNodes("//article/author" );
iter=list.iterator();
while(iter.hasNext()){
Element element=(Element)iter.next();
Iterator iterator=element.elementIterator("firstname");
while(iterator.hasNext()){
Element firstNameElement=(Element)iterator.next();
if(firstNameElement.getText().equals("Marcello"))
firstNameElement.setText("Ayesha");
} } list = document.selectNodes("//article/author" );
iter=list.iterator();
while(iter.hasNext()){
Element element=(Element)iter.next();
Iterator iterator=element.elementIterator("lastname");
while(iterator.hasNext()){
Element lastNameElement=(Element)iterator.next();
if(lastNameElement.getText().equals("Vitaletti"))
lastNameElement.setText("Malik"); } }
XMLWriter output = new XMLWriter(
new FileWriter( new File("D:/DOM4JText/Dom4jupdate.xml") ));
output.write( document );
output.close();
}
catch(DocumentException e)
{
System.out.println(e.getMessage());
} catch(IOException e){
System.out.println(e.getMessage());
}
} public static void main(String args[]){ Dom4JUp dom4jupdate=new Dom4JUp();
File file=new File("D:/DOM4JText/4j.xml");
try{ dom4jupdate.modifyDocument(file);
}catch(Exception e){} }
}
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.*;
import java.io.StringReader;
import java.io.Reader;
import java.util.Vector;public String ReadXml(String strXml,String strName) throws Exception{
String strPar = strName;
Vector vecName = new Vector();
String strValue = "";
Reader in= new StringReader(strXml);
SAXBuilder sb=new SAXBuilder();
Document doc=sb.build(in);
while(strPar.indexOf(".")!=-1) {
vecName.add(strPar.substring(0,strPar.indexOf(".")));
strPar = strPar.substring(strPar.indexOf(".")+1);
}
vecName.add(strPar); Element root = doc.getRootElement(); //ROOTの取得
if(vecName.size()!=0) {
Element item = root.getChild((String)vecName.get(0));
for(int i=0;i<vecName.size();i++) {
if(i!=0) {
if(item == null) break;
item = item.getChild((String)vecName.get(i));
}
}
if(item!=null) {
strValue = item.getText();
}
} return strValue;
}