Content management system 在AEM 6.1中无法获取多个节点

Content management system 在AEM 6.1中无法获取多个节点,content-management-system,aem,Content Management System,Aem,我们最近已从AEM 5.6.1升级到AEM 6.1,下面给出的某些代码突然停止工作。简言之,我们一直在使用节点API获取特定节点的子节点,然后对其进行处理,但在AEM 6.1中,getNodes()方法似乎什么也不返回,只有getNode()似乎有效。还有其他人也面临同样的问题吗?有什么解决办法吗 if (jobAdNode.hasNode(PARSYS_NODE_REL_PATH)) { Node parsysNode = jobAdNode.getNode(PARSY

我们最近已从AEM 5.6.1升级到AEM 6.1,下面给出的某些代码突然停止工作。简言之,我们一直在使用节点API获取特定节点的子节点,然后对其进行处理,但在AEM 6.1中,getNodes()方法似乎什么也不返回,只有getNode()似乎有效。还有其他人也面临同样的问题吗?有什么解决办法吗

if (jobAdNode.hasNode(PARSYS_NODE_REL_PATH)) {
            Node parsysNode = jobAdNode.getNode(PARSYS_NODE_REL_PATH);
            NodeIterator textNodeItr = parsysNode.getNodes("text"); // RETURNS NOTHING
            Node textNode1 = parsysNode.getNode("text"); // RETURN THE EXISTING TEXT NODE
            if (textNodeItr.getSize() > 0) {
                Node textNode = textNodeItr.nextNode();
                if (textNode.hasProperty(TEXT_PROP)) {
                    resDescription.append(textNode.getProperty(TEXT_PROP).getString());
                }
            }
        }

好的,经过大量的尝试和尝试,我找到了问题所在,我想在这里发布,以防其他人也面临同样的问题。在我上面发布的代码中,罪魁祸首是这一行:

if (textNodeItr.getSize() > 0)
getNodes(“text”)方法返回具有子节点的节点的迭代器,但是getSize方法仍然返回-1,因此看起来没有返回任何节点。请看getSize()方法的文档,这表示getSize方法可能不会在所有实现中返回大小


我使用hasNext()解决了这个问题,hasNext()是最常用的工具。

好的,经过大量的尝试和尝试,我找到了问题所在,我想在这里发布,以防其他人也遇到同样的问题。在我上面发布的代码中,罪魁祸首是这一行:

if (textNodeItr.getSize() > 0)
getNodes(“text”)方法返回具有子节点的节点的迭代器,但是getSize方法仍然返回-1,因此看起来没有返回任何节点。请看getSize()方法的文档,这表示getSize方法可能不会在所有实现中返回大小

我使用hasNext()解决了这个问题,hasNext()是最常用的