中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Java解析xml

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

實(shí)例一:

源碼:

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;


public class DOMTest1
{
    public static void main(String[] args) throws Exception
	{
    	//獲得DOM解析工廠
		DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
		//獲得解析器
		DocumentBuilder db=dbf.newDocumentBuilder();
		//解析xml文件
		Document document=db.parse(new File("person.xml"));
		
		NodeList list=document.getElementsByTagName("person");
		
		for(int i=0;i<list.getLength();i++){
			Element element=(Element) list.item(i);
			String str1=element.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
			System.out.println("name:"+str1);
			String str2=element.getElementsByTagName("age").item(0).getFirstChild().getNodeValue();
			System.out.println("name:"+str2);
			String str3=element.getElementsByTagName("address").item(0).getFirstChild().getNodeValue();
			System.out.println("name:"+str3);
			System.out.println("--------------------------");
		}		
	}
}
person.xml 文件內(nèi)容:
<?xml version="1.0"?>
<people>
   <person>
		  <name>weiwei1</name>
		  <age>22</age>
		  <address>jiangsu1</address>
   </person>
   <person>
		  <name>weiwei2</name>
		  <age>23</age>
		  <address>jiangsu2</address>
   </person>
   <person>
		  <name>weiwei3</name>
		  <age>24</age>
		  <address>jiangsu3</address>
   </person>
</people>


實(shí)例二:

源碼:

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Attr;
import org.w3c.dom.Comment;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

/*
 * 使用遞歸解析給定的任意一個(gè)xml文檔,并且將其內(nèi)容輸出到命令行
 */
public class DOMTest2
{
    public static void main(String[] args) throws Exception
	{
		DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
		DocumentBuilder db=dbf.newDocumentBuilder();
		Document document=db.parse(new File("student.xml"));
		//獲得根元素節(jié)點(diǎn)
		Element root=document.getDocumentElement();		
		parseElement(root);
	}
    
    private static void parseElement(Element element){
    	//獲得元素的名字
    	String tagName=element.getNodeName();
    	//獲得這個(gè)結(jié)點(diǎn)的孩子
    	NodeList list=element.getChildNodes();
    	System.out.print("<"+tagName);
    	//獲得這個(gè)結(jié)點(diǎn)的所有的屬性
    	NamedNodeMap map=element.getAttributes();
    	if(null!=map){
    		for(int i=0;i<map.getLength();i++){
    			Attr attr=(Attr) map.item(i);
    			String name=attr.getName();
    			String value=attr.getValue();
    			System.out.print("  "+name+"=\""+value+"\"");
    		}	
    	}
    	System.out.print(">");
    	for(int i=0;i<list.getLength();i++){
    		Node node=list.item(i);
    		//獲得結(jié)點(diǎn)類型
    		short nodeType=node.getNodeType();
    		//是元素
    		if(nodeType==Node.ELEMENT_NODE){
    			//是元素,所以繼續(xù)遞歸
    			parseElement((Element) node);    		
    		}// 是文本
    		else if(nodeType==Node.TEXT_NODE){
    			//遞歸出口
    			System.out.print(node.getNodeValue());
    		}//是注釋
    		else if(nodeType==Node.COMMENT_NODE){
    			System.out.print("<!--");
    			Comment comment=(Comment)node;
    			String str=comment.getData();
    			System.out.print(str+"-->");
    		}   		
    	}
    	System.out.println("</"+tagName+">");
    }
}
student.xml文件內(nèi)容:
<?xml version="1.0" encoding="gbk" standalone="yes"?>
<學(xué)生名冊(cè)>
<!--This is a student information-->
   <學(xué)生 學(xué)號(hào)="1">
		  <姓名>李斯</姓名>
		  <性別>男</性別>
		  <年齡>22</年齡>
   </學(xué)生>
  <學(xué)生 學(xué)號(hào)="2">
		  <姓名>王五</姓名>
		  <性別>女</性別>
		  <年齡>21</年齡>
   </學(xué)生>
   <學(xué)生 學(xué)號(hào)="3">
		  <姓名>張三</姓名>
		  <性別>男</性別>
		  <年齡>20</年齡>
   </學(xué)生>
</學(xué)生名冊(cè)>




標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:pm25首頁(yè)css3天氣場(chǎng)景動(dòng)畫效果代碼

下一篇:js 獲取某個(gè)月份的天數(shù)