Java JDOM Element getTextNormalize() 方法



Java JDOM 的 getTextNormalize() 方法是 Element 类的一个方法,用于获取 XML 元素的规范化文本内容。它会移除文本内容开头和结尾的空格,保留中间的单个空格并移除多余的空格。如果存在 CDATA 部分,它也会返回 CDATA 部分。

语法

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

Element.getTextNormalize();

参数

Java getTextNormalize() 方法不接受任何参数。

返回值

Java getTextNormalize() 方法返回 Element 的规范化文本内容,以字符串形式表示。

示例 1

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

import org.jdom2.Document;
import org.jdom2.Element;

public class GetNormalizedText {
   public static void main(String args[]) {
      try {	
    	 //Create a new Document
	     Document doc = new Document();
	     //Create and add root
	     Element root = new Element("book").setText("		War and     Peace");
	     doc.setRootElement(root);
	     //Get text content
	     String textContent = root.getTextNormalize();
	     System.out.println("Text Content: "+textContent);
	     
      } catch (Exception e) {
    	 e.printStackTrace();
      }
   }
}

规范化的文本内容显示在输出屏幕上。

Text Content: War and Peace

示例 2

当 XML 元素内部没有文本内容时,Java getTextNormalize() 方法会返回一个空字符串。

import org.jdom2.Document;
import org.jdom2.Element;

public class GetNormalizedText {
   public static void main(String args[]) {
      try {	
    	 //Create a new Document
	     Document doc = new Document();
	     //Create and add root
	     Element root = new Element("book");
	     doc.setRootElement(root);
	     //Get text content
	     String textContent = root.getTextNormalize();
	     System.out.println("Text Content: "+textContent);       
      } catch (Exception e) {
    	 e.printStackTrace();
      }
   }
}

空字符串显示为文本内容。

Text Content:

示例 3

以下 htmlTable.xml 文件包含 CDATA 部分。我们需要解析此 XML 文件。

<htmlTable>
   <![CDATA[<table>]]> - HTML table tag.
</htmlTable>

如果 XML 元素内部包含 CDATA 部分,Java getTextNormalize() 方法会返回该 CDATA 部分。

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

public class GetNormalizedText {
   public static void main(String args[]) {
      try {	
    	 //Reading the document
    	 SAXBuilder saxBuilder = new SAXBuilder();
    	 File inputFile = new File("htmlTable.xml");
    	 Document doc = saxBuilder.build(inputFile);
	     //Get the root
	     Element root = doc.getRootElement();
	     //Get text content
	     String textContent = root.getTextNormalize();
	     System.out.println("Text Content: "+textContent);       
      } catch (Exception e) {
    	 e.printStackTrace();
      }
   }
}

规范化的文本内容以及 CDATA 部分将显示出来。

Text Content: <table> - HTML table tag.
广告

© . All rights reserved.