使用dom4j.jar 读取xml
来源:互联网 发布:烈火之剑JAVA全升 编辑:程序博客网 时间:2024/05/13 21:27
原xml 文件
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--<!DOCTYPE tians SYSTEM "tianHello.dtd">
-->
<!DOCTYPE tians[
<!ELEMENT tians (tian*)>
<!ELEMENT tian (class+,method+)>
<!ATTLIST tian id ID #IMPLIED>
<!ELEMENT class (#PCDATA)>
<!ELEMENT method (field*)>
<!ATTLIST method name CDATA #REQUIRED>
<!ELEMENT field (#PCDATA)>
<!ATTLIST field type CDATA #REQUIRED>
<!ATTLIST field name CDATA #REQUIRED>
]>
<tians>
<tian>
<class>tian.busi.Manager.TianHello</class>
<method name="sayHello">
<field type="java.lang.String" name="str"></field>
</method>
</tian>
</tians>
java 类
package tian.core.configFactory;
import java.io.File;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.UUID;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
public class ReadXMl {
@Test
public void ReadXml() throws Exception{
SAXReader reader = new SAXReader();
Document doc=reader.read(new File("D:\\lesowork_2\\XMLRead\\resource\\tian\\busiXml\\tianHello.xml"));
Element root =doc.getRootElement();
Iterator iterator = root.elementIterator("tian");
while(iterator.hasNext()){
Element element=(Element) iterator.next();
String name=element.getName();
String id=element.attributeValue("id");
//节点 名称
System.out.println("name >>> "+name);
//节点属性 id 值
System.out.println("id >>>"+id);
long ID=0l;
if(null==id){
ID=Long.valueOf(new Date().getTime()+UUID.randomUUID().toString().substring(0, 4));
}
Iterator clss = element.elementIterator("class");
if(!clss.hasNext()){
throw new Exception("xml文件中找不到class");
}
Element cls=(Element) clss.next();
String clsName=cls.getName();
String value=cls.getTextTrim();
System.out.println("clsName >>"+clsName);
System.out.println("value >>"+value);
Iterator methods = element.elementIterator("method");
if(!methods.hasNext()){
throw new Exception("xml文件中找不到method");
}
Element method=(Element) methods.next();
String methodName=method.getName();
String nameValue=method.attributeValue("name");
System.out.println("methodName >>"+methodName);
System.out.println("nameValue >>"+nameValue);
Map<String,String>fieldMap=new HashMap<String,String>();
Iterator fields = method.elementIterator("field");
if(fields.hasNext()){
while(fields.hasNext()){
Element field=(Element) fields.next();
String fieldType=field.attributeValue("type");
String fieldName=field.attributeValue("name");
fieldMap.put(fieldName, fieldType);
}
}
}
}
}
- 使用dom4j.jar 读取xml
- java 使用dom4j.jar读取xml文件
- 使用DOM4J读取XML
- 使用dom4j.jar操作XML
- Java通过dom4j.jar读取xml文件
- 用dom4j.jar读取xml文件
- 使用dom4j读取xml文件
- 使用DOM4j读取xml文件
- 使用DOM4J读取XML文档
- 使用Dom4j读取xml文件
- 使用dom4j读取XML数据
- 使用dom4j 读取XML文件
- 使用dom4j读取xml配置文件
- 使用DOM4J读取XML文件
- dom4j从jar包中读取xml文件
- java读取xml数据库配置文件--利用dom4j.jar
- 使用dom4j读取xml文件初始化数据
- DOM4J的使用(一)-----读取XML
- iOS延时执行的几种方法
- IE Compatibility() Chart Id is same as a JavaScript variable name. Variable n
- linux配置文件错误,无法启动进入系统 centos 6.21 Disconnected from system bus
- 在CSDN CTO 俱乐部做的活动:《如何管理你的软件测试工作》
- 同步和异步设备I/O(Synchronous and asynchronous device IO
- 使用dom4j.jar 读取xml
- String和StringBuffer区别
- Ubuntu中root用户和user用户的相互切换
- Ubuntu关机、重启、注销命令
- andorid GridView与scrollView同时使用出现的问题
- 使用Aspose.Cells的基础知识整理
- 浅谈JSTL
- 在CSDN CTO俱乐部的发言实录《如何管理你的软件测试工作》
- js 双击滚动页面