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