模块 java.xml

类 QName

java.lang.Object
javax.xml.namespace.QName
所有已实现的接口:
Serializable

public class QName extends Object implements Serializable

QName 表示 qualified name,如 XML 规范中所定义:XML 模式第 2 部分:数据类型规范XML 中的命名空间

QName 的值包含 Namespace URIlocal partprefix

前缀包含在 QName 中以在 XML input source 中保留词法信息 when present。前缀是 NOT,用于 QName.equals(Object) 或计算 QName.hashCode() 。相等性和哈希码是使用 only 命名空间 URI 和本地部分定义的。

如果未指定,命名空间 URI 将设置为 XMLConstants.NULL_NS_URI 。如果未指定,则前缀设置为 XMLConstants.DEFAULT_NS_PREFIX

QName 是不可变的。

自从:
1.5
参见:
  • 构造方法详细信息

  • 方法详情

    • getNamespaceURI

      public String  getNamespaceURI()

      获取此 QName 的命名空间 URI。

      返回:
      这个 QName 的命名空间 URI
    • getLocalPart

      public String  getLocalPart()

      获取此 QName 的本地部分。

      返回:
      这个QName的本地部分
    • getPrefix

      public String  getPrefix()

      获取这个 QName 的前缀。

      分配给 QName 的前缀可能 NOT 在不同的上下文中有效。例如,QName 可能在解析文档的上下文中分配了一个前缀,但该前缀在不同文档的上下文中可能无效。

      返回:
      这个QName的前缀
    • equals

      public final boolean equals(Object  objectToTest)

      测试这个 QName 与另一个 Object 是否相等。

      如果要测试的 Object 不是 QName 或者是 null,则此方法返回 false

      当且仅当名称空间 URI 和本地部分相等时,两个 QName 才被视为相等。此方法使用 String.equals() 检查命名空间 URI 和本地部分的相等性。前缀是NOT,用来判断是否相等。

      该方法满足Object.equals(Object) 的一般契约

      重写:
      equals 在类 Object
      参数:
      objectToTest - Object 测试与此 QName 是否相等
      返回:
      true 如果给定的 Object 等于此 QName 否则 false
      参见:
    • hashCode

      public final int hashCode()

      为此 QName 生成哈希码。

      哈希码是使用命名空间 URI 和 QName 的本地部分计算的。前缀是NOT,用于计算哈希码。

      此方法满足 Object.hashCode() 的一般契约。

      重写:
      hashCode 在类 Object
      返回:
      这个 QName Object 的哈希码
      参见:
    • toString

      public String  toString()

      这个 QNameString 表示。

      QName 表示为 String 的普遍接受方式是 James Clark 的 定义的。虽然这不是 standard 规范,但它是常用的,例如 Transformer.setParameter(String name, Object value) 。此实现将 QName 表示为:“{”+ 命名空间 URI +“}”+ 本地部分。如果命名空间 URI .equals(XMLConstants.NULL_NS_URI),则仅返回本地部分。此方法的适当用途是用于调试或记录以供人类使用。

      请注意,前缀值是作为 String 表示的一部分返回的 NOT

      此方法满足 Object.toString() 的一般契约。

      重写:
      toString 在类 Object
      返回:
      String 代表这个 QName
    • valueOf

      public static QName  valueOf(String  qNameAsString)

      QName 派生自解析格式化的 String

      如果 Stringnull 或不符合 QName.toString() 格式,则抛出 IllegalArgumentException

      The String MUST be in the form returned by QName.toString() .

      QName 表示为 String 的普遍接受方式是 James Clark 的 定义的。虽然这不是 standard 规范,但它是常用的,例如 Transformer.setParameter(String name, Object value) 。此实现将 String 格式解析为:“{”+ 命名空间 URI +“}”+ 本地部分。如果命名空间 URI .equals(XMLConstants.NULL_NS_URI),则只应提供本地部分。

      前缀值 CANNOTString 中表示并将设置为 XMLConstants.DEFAULT_NS_PREFIX

      此方法不会对生成的 QName 进行完整验证。

      命名空间 URI 未验证为 URI 参考。本地部分未验证为 XML 中的命名空间 中指定的 数控名称

      参数:
      qNameAsString - QNameString 表示
      返回:
      QName对应给定的String
      抛出:
      IllegalArgumentException - 当 qNameAsStringnull 或格式错误时
      参见: