dom4j里面elements()和contents()方法的区别

在dom4j里面这两个方法都返回的是list,但是两个list可能有所不同。看了例子:

xml文件:

<?xml version="1.0"?>

<note>

<to></to>

<from>John</from>

<heading>Reminder</heading>

<body>5555

<head>333</head>

</body>

</note>

java文件:

File file=new File("C:\\Users\\Administrator\\Desktop\\zzz\\1.xml");

SAXReader reader=new SAXReader();

Document document=reader.read(file);

System.out.println(document.getRootElement().elements());//取到该元素下的子节点,对于孙子节点取不到

System.out.println(document.getRootElement().elements().size());//有多少个直接子节点

System.out.println(document.getRootElement().content());//可以取到该元素下所有的后代元素,其中还包括后代元素的text内容

System.out.println(document.getRootElement().content().size());//有多少个后代元素,包括他们text内容的总个数

执行结果:

[org.dom4j.tree.DefaultElement@19fcc69 [Element: <to attributes: []/>], org.dom4j.tree.DefaultElement@253498 [Element: <from attributes: []/>], org.dom4j.tree.DefaultElement@9fef6f [Element: <heading attributes: []/>], org.dom4j.tree.DefaultElement@209f4e [Element: <body attributes: []/>]]

4

----------------------------------------------------------------------------------------------

[org.dom4j.tree.DefaultText@17172ea [Text: "

"], org.dom4j.tree.DefaultElement@19fcc69 [Element: <to attributes: []/>], org.dom4j.tree.DefaultText@12f6684 [Text: "

"], org.dom4j.tree.DefaultElement@253498 [Element: <from attributes: []/>], org.dom4j.tree.DefaultText@f38798 [Text: "

"], org.dom4j.tree.DefaultElement@9fef6f [Element: <heading attributes: []/>], org.dom4j.tree.DefaultText@4b222f [Text: "

"], org.dom4j.tree.DefaultElement@209f4e [Element: <body attributes: []/>], org.dom4j.tree.DefaultText@b169f8 [Text: "

"]]

9

相关推荐