Java JDOM Element getChildren() 方法



Java JDOM 的 getChildren() 方法是 Element 类的成员方法,用于检索 XML 元素内部一层深度的子元素。使用此方法,只能获取具有指定本地名称并在指定命名空间内的元素。

getChildren() 方法返回一个 Element 对象的动态列表,因此对元素进行的任何更改都会影响元素的实际内容列表。如果当前元素没有子元素,则此方法返回一个空列表。

语法

以下是 Java JDOM Element getChildren() 方法的语法:

Element.getChildren();
Element.getChildren(cname);
Element.getChildren(cname,ns);

参数

Java getChildren() 方法是一个多态方法,它接受以下参数:

  • cname - 表示 XML 元素的本地名称。
  • ns - 附加到需要检索的元素的命名空间。

返回值

Java getChildren() 方法返回 XML 元素内部的子元素列表。

示例 1

我们需要解析以下 vehicle.xml 文件:

<vehicle>
	<twoWheeler>Bike
       <bike>Royal Enfield</bike>
       <bike>Honda Activa</bike>
       <bike>Bajaj Pulsar</bike>
	</twoWheeler>
	<twoWheeler>Scooty</twoWheeler>
	<fourWheeler>Car</fourWheeler>
	<fourWheeler>Jeep</fourWheeler>	
</vehicle>

以下是使用 Java JDOM Element getChildren() 方法的基本示例:

import java.io.File;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;

public class GetChildren {
   public static void main(String args[]) {
      try {	
    	 //Reading the document
    	 SAXBuilder saxBuilder = new SAXBuilder();
    	 File inputFile = new File("vehicle.xml");
    	 Document doc = saxBuilder.build(inputFile);
    	 Element root = doc.getRootElement();
    	 //Get child elements
    	 List<Element> list = root.getChildren();	     
	     //Print child elements
    	 System.out.println("List of vehicles : ");
    	 for(Element child : list)
    	    System.out.println(child.getText());	       
      } catch (Exception e) {
    	 e.printStackTrace();
      }
   }
}
List of vehicles : 
Bike	
Scooty
Car
Jeep

示例 2

getChildren() 方法将子元素的本地名称作为参数,并返回当前元素内部一层深度的所有具有该名称的子元素。

import java.io.File;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;

public class GetChildren {
   public static void main(String args[]) {
      try {	
    	 //Reading the document
    	 SAXBuilder saxBuilder = new SAXBuilder();
    	 File inputFile = new File("vehicle.xml");
    	 Document doc = saxBuilder.build(inputFile);
    	 Element root = doc.getRootElement();
    	 //Get child elements
    	 List<Element> list = root.getChildren("fourWheeler");	     
	     //Print child elements
    	 System.out.println("List of four wheelers : ");
    	 for(Element child : list)   		
    	    System.out.println(child.getText());
      } catch (Exception e) {
    	 e.printStackTrace();
      }
   }
}

显示所有可用的四轮车。

List of four wheelers : 
Car
Jeep

示例 3

getChildren() 方法可用于通过在子元素上调用相同函数来检索子元素内部的子元素。

import java.io.File;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;

public class GetChildren {
   public static void main(String args[]) {
      try {	
    	 //Reading the document
    	 SAXBuilder saxBuilder = new SAXBuilder();
    	 File inputFile = new File("vehicle.xml");
    	 Document doc = saxBuilder.build(inputFile);
    	 Element root = doc.getRootElement();
    	 //Get child elements
    	 List<Element> twoWheelerList = root.getChildren("twoWheeler");
    	 List<Element> bikeList = twoWheelerList.get(0).getChildren();
	     //Print Bike elements
    	 System.out.println("List of available bikes : ");
    	 for(Element bike : bikeList)   		
    	    System.out.println(bike.getText());
      } catch (Exception e) {
    	 e.printStackTrace();
      }
   }
}

显示“两轮车”元素内部的自行车列表。

List of available bikes : 
Royal Enfield
Honda Activa
Bajaj Pulsar
广告

© . All rights reserved.