我正在使用 Java 使用 Sharepoint 2010 oData 列表。到目前为止,使用 SSL 和 NTLMv2 的连接运行良好,我得到了 Atom 格式的响应。Sharepoint 似乎禁用了 JSON 格式。下一步是高效解析响应以获取 Java 中的 List 条目内容属性。
我有几个选择,比如使用:
- 罗马来解析提要响应,但这并不容易让我解析我需要的内容属性。
- oData4J - 但它似乎不支持基于 NTLM 的身份验证(基于文档和未解决的问题)。
- Restlet 框架 - 是否有人使用它来使用安全且经过身份验证的 Sharepoint oData 服务?
- XML解析
对上述任何一项有任何见解或经验,以及推荐的有效方法是什么?
我要解析或获取的内容属性是:
<m:properties xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<d:ContentTypeID xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">0x01005FC9ED59F2FC4842B6D</d:ContentTypeID>
<d:Activity xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">Activity 1</d:Activity>
<d:StartDate xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.DateTime">2012-04-16T00:00:00</d:StartDate>
<d:EndDate xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.DateTime">2012-04-16T06:00:00</d:EndDate>
<d:ActivityTypeValue xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:null="true" />
<d:CreatedById xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.Int32">193</d:CreatedById>
<d:ModifiedById xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.Int32">193</d:ModifiedById>
<d:Id xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.Int32">357</d:Id>
<d:ContentType xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">Item</d:ContentType>
<d:Modified xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.DateTime">2012-03-30T13:07:18</d:Modified>
<d:Created xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" m:type="Edm.DateTime">2012-03-30T11:35:42</d:Created>
<d:Version xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">1.0</d:Version>
</m:properties>