我正在尝试从 Java 中的 Sharepoint 列表中删除文件并遇到一些问题。我正在使用此处描述的批处理元素
我可以提出请求,但返回的结果为 null 并且文件没有被删除(我没有收到任何错误)。
这是我正在使用的 UpdateListItems.Update 的代码:
UpdateListItems.Updates updates = new UpdateListItems.Updates();
updates.getContent().add(this.generateXmlNode(
"<Batch PreCalc='True' OnError='Continue' ListVersion='1' ListName='" + spMoveRequest.getListName() + "'>" +
"<Method ID='1' Cmd='Delete'>" +
"<Field Name='ID'>5</Field>" +//this must be where we specify the file
"</Method>" +
"</Batch>"
));
然后我对 listSoap 对象进行方法调用,如下所示:
UpdateListItemsResult updateResult = listSoap.updateListItems("<my list name here>", updates);
我还尝试了许多变体,例如使用 GUID 而不是实际列表名称并使用
<Field Name='FileRef'><my file url here></Field>
来识别文件。
似乎没有任何效果,我也没有得到任何有用的反馈。
我使用的 generateXmlNode 方法如下所示:
protected Node generateXmlNode(String sXML) throws ParserConfigurationException, SAXException, IOException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(false);
DocumentBuilder builder = factory.newDocumentBuilder();
Document documentOptions = builder.parse(new InputSource(new StringReader(sXML)));
Node elementOptions = documentOptions.getDocumentElement();
return elementOptions;
}
但是我过去在毫无问题地检索共享点列表时使用过它。
我在这里想念什么?