您的代码存在一些问题。这JcrUtil.createPath(String absolutePath, String nodeType, Session session)
使用给定的 NodeType 创建所有不存在的中间路径。
这意味着所有节点 xperia、public 和 events 都是使用类型创建的nt:file
代替sling:OrderedFolder
.
您可以使用createPath(String absolutePath, boolean createUniqueLeaf, String intermediateNodeType, String nodeType, Session session, boolean autoSave)方法,而是指定要创建的中间节点的类型。
String page = "/content/xperia/public/events/eventeditor";
page = page.replace("/content", "/content/dam");
page += ".xml";
if (adminSession.nodeExists(page+ "/"+ "jcr:content")) {
Node node = adminSession.getNode(page+ "/"+ "jcr:content");
node.setProperty("jcr:data", sb.toString());
} else {
Node feedNode = JcrUtil.createPath(page, true, "sling:OrderedFolder", "nt:file", adminSession, false);
Node dataNode = feedNode.addNode("jcr:content", "nt:resource");
dataNode.setProperty("jcr:data",sb.toString());
}
adminSession.save();