这两个方法都是获取文本的,区别是:
getText()-----获取当前节点的文本内容,如果当前节点下是一个element元素,那返回的就是null.
getStringValue------获取当前节点的子孙节点中的所有文本内容连接成的字符串.
例子:
1 package XML; 2 3 import org.dom4j.Document; 4 import org.dom4j.DocumentException; 5 import org.dom4j.Element; 6 import org.dom4j.io.SAXReader; 7 8 public class Test5 { 9 10 public static void main(String[] args) throws DocumentException { 11 SAXReader reader=new SAXReader(); 12 Document doc = reader.read("config/book.xml"); 13 Element root = doc.getRootElement(); 14 //获取当前节点的子孙节点中的所有文本内容连接成的字符串. 15 System.out.println("getStringValue:"+root.getStringValue()); 16 //获取当前节点的文本内容,如果当前节点下是一个element元素,那返回的就是null. 17 System.out.println("getText:"+root.getText()); 18 //可去掉文本内容的空格 19 System.out.println("getTextTrim:"+root.getTextTrim()); 20 } 21 22 }
//config/book.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <books> 3 hahahah 4 <number>3</number> 5 <book> 6 <name>红楼梦</name> 7 <price>28</price> 8 <publishing_company>大象出版社</publishing_company> 9 </book> 10 <book> 11 <name>西游记</name> 12 <price>56</price> 13 <publishing_company>西南出版社</publishing_company> 14 </book> 15 <book> 16 <name>水浒传</name> 17 <price>66</price> 18 <publishing_company>天津出版社</publishing_company> 19 </book> 20 </books>
结果: