java读XML文件
- XML文件设计为传输和存储数据,其焦点为数据内容。
- HTML设计为用来显示数据, 其焦点为数据外观。
- XML仅仅是文本文件,任何文本编辑器一般情况下都能对其进行编辑。
- XML没有预定义的标签,并且设定的标签是大小写敏感的。
标签还必须:
- 
- 必须有根元素
- 属性值需要加引号
- 空格等会被保留
- 必须关闭标签
 
JAVA读取XML文件
1,language.xml文件内容为:
<?xml version="1.0" encoding = "UTF-8" ?> <language cat = "it"> <lan id = "1"> <name>java</name> <IDE>Eclipse</IDE> </lan> <lan id = "2"> <name>Objective-C</name> <IDE>Xcode</IDE> </lan> <lan id = "3"> <name>C#</name> <IDE>Visual Studio</IDE> </lan> </language>
2,java代码
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class XmlRead {
public static void main(String[] args) throws SAXException, IOException {
	try {
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		DocumentBuilder builder = factory.newDocumentBuilder();
		Document document = builder.parse(new File("language.xml"));
		Element root =document.getDocumentElement();
		System.out.println("<language cat = \""+root.getAttribute("cat")+"\">");
		NodeList list = root.getElementsByTagName("lan");
		for(int i=0;i<list.getLength();i++){
			Element lan = (Element) list.item(i);
			System.out.println("\t<lan id = \""+lan.getAttribute("id")+"\">");
			NodeList clist = lan.getChildNodes();
			for (int j = 0; j < clist.getLength(); j++) {
				Node c = clist.item(j);
				if (c instanceof Element) {
					System.out.println("\t\t<"+c.getNodeName()+">"+c.getTextContent()+"</"+c.getNodeName()+">");
				}
			}
			System.out.println("\t</lan>");
		}
		System.out.println("</language>");
	} catch (ParserConfigurationException e) {
	}
}
}
运行结果:

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号