1

我想做的是:

setParameter(String name, String value)

但API是:

void setParameter(QName name, XdmValue value)

我找不到任何正确创建 XdmValue 和 QName 的示例,我找到的示例都使用此函数/api 的不同版本。

4

1 回答 1

6

参数的名称通常不在命名空间中,因此您可以使用构造函数构造 QName new QName("p")。如果参数值是字符串,则可以使用 构造值new XdmAtomicValue("value")。所以你的例子减少到

setParameter(new QName(name), new XdmAtomicValue(value))

在设计这样的 API 时,必须仔细判断如何平衡为常见简单情况提供“快捷方式”方法所带来的简单性与拥有无数方法所带来的复杂性。所以我提供了new QName(string),但我没有提供setParameter(string, string)

于 2011-05-10T09:38:38.313 回答