`javax.xml.namespace` 是 Java 标准库中用于处理 XML 命名空间(XML Namespaces)的核心包 javax.xml.namespace是 Java 标准库中用于处理 XML 命名空间XML Namespaces的核心包自 Java 1.5JDK 5起引入属于 JAXPJava API for XML Processing的一部分。该包主要提供以下关键接口和类QName表示一个限定名称qualified name即带命名空间前缀的 XML 名称如{http://example.com/ns}element。它由namespace URI、local part本地名称和可选的prefix前缀组成常用于 DOM、SAX、StAX 和 JAXB 等 XML 处理 API 中标识元素或属性。NamespaceContext接口用于在 XPath、StAX 或其他上下文中解析前缀到命名空间 URI 的映射关系例如prefix → http://www.w3.org/2000/svg。需用户自行实现如SimpleNamespaceContext在测试中常用但非 JDK 内置生产中常配合javax.xml.xpath.XPathFactory使用。⚠️ 注意javax.xml.namespace属于Java SE 的标准 API但自Java 9 引入模块系统后它被包含在java.xml模块中自Java 17 起仍受支持但需注意在 Java EE / Jakarta EE 迁移后javax.*包名已整体重命名为jakarta.xml.*如jakarta.xml.namespace.QName不过该变更不影响 Java SE 中的javax.xml.namespace—— 它在 JDK 中保持不变仅 Jakarta EE 项目需适配该包不提供命名空间解析器或 XML 解析功能本身而是为其他 XML API如DocumentBuilder、XMLStreamReader提供命名空间语义支持。示例使用 QName 构造带命名空间的元素名importjavax.xml.namespace.QName;QNamesvgRectnewQName(http://www.w3.org/2000/svg,rect,svg);System.out.println(svgRect.getNamespaceURI());// http://www.w3.org/2000/svgSystem.out.println(svgRect.getLocalPart());// rectSystem.out.println(svgRect.getPrefix());// svgjavax.xml.namespaceInterfacesNamespaceContextInterface for read only XML Namespace context processing.ClassesQNameQName represents a qualified name as defined in the XML specifications: XML Schema Part2: Datatypes specification, Namespaces in XML, Namespaces in XML Errata.