dom 隨筆

  在dom解析的service 中

1:在dom中創建Dom工廠,從工廠中取出builder,通過builer來獲得一份xml。

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder=factory.newDocumentBuilder();
 Document document = builder.parse(is);

2; 獲取xml的根節點


Element rootElement = document.getDocumentElement();

NodeList nodeList = rootElement.getElementsByTagName("persons");// 得到person節點

//遍歷person節點

for (int i = 0; i < nodeList.getLength();i++) {


Element element=(Element) nodeList.item(i);
NodeList childNode=element.getChildNodes();

          for (int y = 0; y < childNode.getLength(); y++) {

         //遍歷person節點下面的子節點
NodeList personnode=childNode.item(y).getChildNodes();

               for (int j = 0; j < personnode.getLength(); j++) {

//如果 persom下面的節點是一個元素。

   if (personnode.item(j).getNodeType()==Node.ELEMENT_NODE) {

                           if ("name".equals(personnode.item(j).getNodeName())) {
String name=personnode.item(j).getFirstChild().getNodeValue();
if (name!=null) {
person.setName(name);
}

} if("age".equals(personnode.item(j).getNodeName())){
String  age=personnode.item(j).getFirstChild().getNodeValue();
if (age!=null) {
person.setAge(Integer.parseInt(age));
}

   }

}

}

xml 如下

<?xml version="1.0" encoding="utf-8"?>
<persons>
<person id="1">
<name>劉備</name>
<age>12</age>
</person>
<person id="2">
<name>關羽</name>
<age>14</age>
</person>
<person id="3">
<name>張飛</name>
<age>15</age>
</person>
</persons>







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章