xml 是擴展標記語言 extension marked languange .
作用:
1 可以作爲配置文件。
2 不依賴任何平臺提供數據支持,可以和http超文本提供數據,
的作用,簡單理解爲xml是一種數據記錄格式。
解析xml文件:
方法:
常見的三種XML解析方法,即DOM解析、SAX解析、DOM4J解析。
這裏只介紹最簡單常用效果最好的DOM4J解析。
eg:emplyees.xml
<?xml version="1.0" encoding="UTF-8"?>
<emplyees>
<emplyee><name>jack</name><sex>male</sex><age>30</age></emplyee>
<emplyee><name>litao</name><sex>male</sex><age>12</age></emplyee>
<emplyee><name>lucy</name><sex>fmale</sex><age>23</age></emplyee>
<student><name>tom</name><sex>fmale</sex><age>30</age></student>
</emplyees>
--------------------------------------------------------
需要導入jar包:
dom4j-1.6.1.jar
代碼演示:
public class XmlDom4jTest
{
/**
* dom4j 創建xml文件
* <功能詳細描述>
* @param path
* @see [類、類#方法、類#成員]
*/
public void creatXmlFile(String path)
{
Document document = DocumentHelper.createDocument();
Element emplyees = document.addElement("emplyees");
Element emplyee = emplyees.addElement("emplyee");
Element name = emplyee.addElement("name");
name.addText("jack");
Element sex = emplyee.addElement("sex");
sex.addText("male");
Element age = emplyee.addElement("age");
age.addText("30");
//創建xml文件
try
{
Writer writer = new FileWriter(path);
XMLWriter xmlWriter = new XMLWriter(writer);
xmlWriter.write(document);
xmlWriter.close();
writer.close();
System.out.println("The file has been created successfully!");
}
catch (IOException e)
{
System.out.println(e.getMessage());
}
}
/**
* dom4j 解析xml文件
* <功能詳細描述>
* @param path
* @see [類、類#方法、類#成員]
*/
@SuppressWarnings("rawtypes")
public void parserXml(String path)
{
File inputXmlFile = new File(path);
SAXReader reader = new SAXReader();
try
{
Document document = reader.read(inputXmlFile);
Element employees = document.getRootElement();
for (Iterator i = employees.elementIterator(); i.hasNext();)
{
Element employee = (Element)i.next();
System.out.println(employee.getName()+":"+employee.getText());
for (Iterator j = employee.elementIterator(); j.hasNext();)
{
Element node = (Element)j.next();
System.out.println(node.getName() + ":" + node.getText());
}
}
}
catch (DocumentException e)
{
System.out.println(e.getMessage());
}
}
public static void main(String[] args)
{
XmlDom4jTest xmlDom4j = new XmlDom4jTest();
// xmlDom4j.creatXmlFile("E:/test/employees.xml");
xmlDom4j.parserXml("E:/test/employees.xml");
}
}
result:
emplyee:
name:jack
sex:male
age:30
emplyee:
name:litao
sex:male
age:12
emplyee:
name:lucy
sex:fmale
age:23
student:
name:tom
sex:fmale
age:30