我正在尝试运行以下代码:
package practicaXML;
import javax.xml.xquery.*;
import org.w3c.dom.Node;
import net.xqj.basex.BaseXXQDataSource;
public class App {
public static void main(String[] args) {
try {
XQDataSource xqs = new BaseXXQDataSource();
xqs.setProperty("serverName", "localhost");
xqs.setProperty("port", "1984");
xqs.setProperty("databaseName", "facts");
XQConnection conn = xqs.getConnection("admin", "admin");
String xqueryString = "//province[contains(@name, 'x')]";
XQExpression xqe = conn.createExpression();
XQResultSequence rs = xqe.executeQuery(xqueryString);
Node n;
while(rs.next()) {
n = rs.getNode();
System.out.println(n.getAttributes().getNamedItem("name").getNodeValue());
}
conn.close();
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
我收到此错误:
Error: Connection refused: no further information
这是我第一次使用BaseX,并且我没有更改任何凭据,因此所有值都应为默认值。可能是什么原因造成的?
此外,我假设admin admin是默认凭据,如果我不愿意,请更正我。还有我应该牢记的任何细节吗?例如,在尝试建立连接时是否需要关闭BaseX?