1.XML文件
<?xml version="1.0" encoding="UTF-8"?>
<Languages cat ="it" >
<lan id ="1" >
<name > Java</name >
<ide > Eclipse</ide >
</lan >
<lan id ="2" >
<name > Swift</name >
<ide > Xcode</ide >
</lan >
<lan id ="3" >
<name > C#</name >
<ide > Visual Studio</ide >
</lan >
</Languages >
2.JAVA类
package cn.edu .qust .xml
import java.io .IOException
import javax.xml .parsers .DocumentBuilder
import javax.xml .parsers .DocumentBuilderFactory
import javax.xml .parsers .ParserConfigurationException
import org.w 3c.dom .Document
import org.w 3c.dom .Element
import org.w 3c.dom .Node
import org.w 3c.dom .NodeList
import org.xml .sax .SAXException
public class ReadXML {
public static void main(String[] args) {
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance ()
DocumentBuilder builder
try {
builder = builderFactory.newDocumentBuilder ()
// 读取文档,注意文件路径
Document document = builder.parse ("./src/languages.xml" )
// 获取根节点
Element element = document.getDocumentElement ()
// 获取节点标签名,属性值
System.out .println (element.getTagName () + " cat " + element.getAttribute ("cat" ))
NodeList list = element.getElementsByTagName ("lan" )
for (int i = 0
System.out .println ("==============" )
// 进行类型转换,否则报类型装换异常
Element lanNode = (Element) list.item (i)
System.out .println ("id = " + lanNode.getAttribute ("id" ))
NodeList chlidList = lanNode.getChildNodes ()
for (int j = 0
Node child = chlidList.item (j)
if (child instanceof Element) {
System.out .println (child.getNodeName () + " = " + child.getTextContent ())
}
}
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace ()
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace ()
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace ()
}
}
}
3.打印日志
id = 1
name = Java
id = 2
name = Swift
id = 3
name = C#
ide = Visual Studio