第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

試圖對撒克遜的節(jié)點集進行排序

試圖對撒克遜的節(jié)點集進行排序

慕勒3428872 2022-06-23 16:01:23
要在 Saxon 中對查詢進行排序,我們首先運行查詢:XPathExecutable exe = xPath.compile(query);XPathSelector selector = exe.load();selector.setContextItem(xmlDocument);XdmValue nodeSet = selector.evaluate();// put the results in an arrayArrayList<XdmItem> nodes = new ArrayList<XdmItem>();for (int i = 0; i < nodeSet.size(); i++)    nodes.add(nodeSet.itemAt(i));// Sort the resultssortNodes(nodes, "RiskLevel", false, false);    private void sortNodes(ArrayList<XdmItem> nodes, final String sortKey, final boolean sortIsAttr, boolean descending) {        Comparator comparator = new Comparator() {            public int compare(Object node1, Object node2) {                if (node1 instanceof XdmNode && node2 instanceof XdmNode) {                    if (sortIsAttr) {                        return ((XdmNode) node1).getAttributeValue(new QName(sortKey)).compareTo(((XdmNode) node2).getAttributeValue(new QName(sortKey)));                    }                    else {                        XdmSequenceIterator iter1, iter2;                        if (sortKey.equals(".")) {                            iter1 = ((XdmNode) node1).axisIterator(Axis.SELF, new QName(((XdmNode) node1).getNodeName().getLocalName()));                            iter2 = ((XdmNode) node2).axisIterator(Axis.SELF, new QName(((XdmNode) node2).getNodeName().getLocalName()));在兩個 hasNext() 調(diào)用上都返回 false。第一個問題,這是執(zhí)行此操作的最佳方式嗎?如果沒有,有什么更好的方法?第二個問題,如果這是最好的方法,為什么迭代器返回 false ofr hasNext()?
查看完整描述

1 回答

?
搖曳的薔薇

TA貢獻1793條經(jīng)驗 獲得超6個贊

為什么不使用 XQuery 進行排序?生成和編譯查詢

'declare variable $nodes external;
for $n in $nodes order by $n/' + sortkey + ' return $n'

然后編譯并執(zhí)行這個查詢,綁定$nodes到你nodeSet從第一個查詢中獲得的。

我認(rèn)為您的代碼失敗的原因是元素位于名稱空間中,并且當(dāng)您構(gòu)造一個 QName 來保存排序鍵時,您正在構(gòu)造一個無名稱空間 QName。


查看完整回答
反對 回復(fù) 2022-06-23
  • 1 回答
  • 0 關(guān)注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號