最近在搞webService调用,使用到了QName这个类,经过查找JDK以及一些资料,才明白这个类的作用。
QName 英文全名: qualified name
中文翻译:表示 XML 规范中定义的限定名称
QName
的值包含名称空间 URI、本地部分和前缀。
QName
中包括前缀,以保留词汇信息(当在 XML 输入源
中存在 时)。前缀不 用于 QName.equals(Object)
或计算 QName.hashCode()
。仅 使用名称空间 URI 和本地部分定义相等性和哈希码。
如果没有指定名称空间 URI,则将其设置为 XMLConstants.NULL_NS_URI
。如果没有指定前缀,则将其设置为XMLConstants.DEFAULT_NS_PREFIX
。
QName
是不可变的。
- 1.5 另请参见:
- XML Schema 第二部分:Datatypes specification, Namespaces in XML, Namespaces in XML 勘误表, 序列化表格
-
从以下版本开始:
构造方法摘要 | |
---|---|
QName(String localPart) 指定本地部分的 QName 构造方法。 | |
QName(String namespaceURI, String localPart) 指定名称空间 URI 和本地部分的 QName 构造方法。 | |
QName(String namespaceURI, String localPart, String prefix) 指定名称空间 URI、本地部分和前缀的 QName 构造方法。 |
方法摘要 | |
---|---|
boolean | equals(Object objectToTest) 测试此 QName 与另一个 Object 的相等性。 |
String | getLocalPart() 获取此 QName 的本地部分。 |
String | getNamespaceURI() 获取此 QName 的名称空间 URI。 |
String | getPrefix() 获取此 QName 的前缀。 |
int | hashCode() 生成此 QName 的哈希码。 |
String | toString() 此 QName 的 String 表示形式。 |
static QName | valueOf(String qNameAsString) 从解析格式化 String 中派生的 QName 。 |
例子:部分代码
@WebService(targetNamespace = "http://webservice.mpi.rhin.landwind.net/", endpointInterface = "net.landwind.rhin.mpi.webservice.MPIWebService", portName = "MPIService", serviceName = "MPIWebService")
public class MPIWebServiceImpl implements MPIWebService {
public String register(String reqXml){
system.out.println("实现代码块......");
}
}
//namespaceURI method
new javax.xml.namespace.QName("http://webservice.mpi.rhin.landwind.net/", "register")