我正在尝试使用以下命令获取列出当前文档的所有文档:
List<DocumentReference> childDocs = doc.getChildrenReferences(xcontext);
其中doc是父XWikiDocument。
但是该函数只返回一个空列表,但空格中有文档。
如果我打印doc.getFullName(),它的AAA.WebHome ..并且所有的chldren空间都列在AAA下。我应该如何引用doc来获取列表中的AAA.BBB.WebHome?或者我哪里错了?
我正在尝试编写一个删除当前空间中所有子页面的递归函数。但无法列出所有子页面。这是递归函数:
public void RECdeleteSpace(XWikiDocument doc, XWikiContext xcontext,boolean toTrash){
XWiki xwiki = xcontext.getWiki();
List<DocumentReference> childDocs;
try {
childDocs = doc.getChildrenReferences(xcontext);
System.out.println("REC " + doc.getFullName());
System.out.println("CHLD " + childDocs.toString());
System.out.println("----- ");
Iterator<DocumentReference> docit = childDocs.iterator();
while (docit.hasNext()) {
DocumentReference chdocref = docit.next();
XWikiDocument chdoc = xwiki.getDocument(chdocref, xcontext);
System.out.println("DOC: "+chdoc.getFullName());
RECdeleteSpace(chdoc,xcontext,toTrash);
}
xwiki.deleteDocument(doc, toTrash, xcontext);
} catch (XWikiException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
输出仅为:
INIT WebHome
REC AAA.WebHome
CHLD []
-----
并且itterator将转到AAA.BBB.Webhome或AAA.BBB.CCC.WebHome