Java JDOM Element getNamespace() 方法



Java JDOM 的 getNamespace() 方法是 Element 类的一个方法,用于获取与元素关联的命名空间。此方法也可用于获取与特定前缀链接的命名空间。此方法以 JDOM 的 Namespace 对象的形式返回命名空间。

语法

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

Element.getNamespace();
Element.getNamespace(prefix);

参数

Java getNamespace() 方法是一个多态方法,它接受一个参数。

prefix − 表示要检索的命名空间的前缀。

返回值

Java getNamespace() 方法返回 Element 的 Namespace。

示例 1

以下 book.xml 文件包含命名空间,我们将使用 Java JDOM Element getNamespace() 方法来获取它们。

<?xml version="1.0" encoding="UTF-16" ?>
<book xmlns="http://domain/book">
    <book:name xmlns:book="http://domain/bookName">
       War and Peace
    </book:name> 
    <auth:name xmlns:auth="http://domain/authorName">
		John Martin
    </auth:name>   
</book>

这是一个实现 getNamespace() 方法用法的基本 Java 程序:

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

public class GetNamespace {
   public static void main(String args[]) {
      try {	
    	 //Reading the document
    	 SAXBuilder saxBuilder = new SAXBuilder();
    	 File inputFile = new File("book.xml");
    	 Document doc = saxBuilder.build(inputFile);
    	 Element root = doc.getRootElement();
	     //Get namespace
    	 Namespace ns = root.getNamespace();
	     System.out.println(ns);       
      } catch (Exception e) {
    	 e.printStackTrace();
      }
   }
}

显示根元素的命名空间。

[Namespace: prefix "" is mapped to URI "http://domain/book"]

示例 2

getNamespace() 方法可用于通过提供前缀作为参数来检索与特定前缀关联的命名空间。

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

public class GetNamespace {
   public static void main(String args[]) {
      try {	
    	 //Reading the document
    	 SAXBuilder saxBuilder = new SAXBuilder();
    	 File inputFile = new File("book.xml");
    	 Document doc = saxBuilder.build(inputFile);
    	 Element root = doc.getRootElement();
	     //Get namespace
    	 List<Element> list = root.getChildren();
    	 for(Element e:list) {
    	    System.out.println(e.getNamespace("auth")); 
    	 }   	     
      } catch (Exception e) {
    	 e.printStackTrace();
      }
   }
}

输出窗口显示与给定前缀关联的命名空间。

null
[Namespace: prefix "auth" is mapped to URI "http://domain/authorName"]
广告

© . All rights reserved.