marklogic XDMP API を使用して Twitter から XML フィードを取得しようとしています。Xquery コンソールで XML を取得できますが、その xml を変換して名前付きデータベースに入れる方法がわかりません。私は次のことをやっています:
関数を使用してこの URL " http://search.twitter.com/search.atom?q=pankaj&since_id=1212121
xdmp:http-get
" にアクセスすると、次の XML が取得されます。<?xml version="1.0" encoding="UTF-8"?> <twitter> <entry> <id>1212121</id> <content>did u hear what he talked about Pankaj</content> </entry> <entry> <id>1212122</id> <content>abc xyz abc xyz</content> </entry> </twitter>
ここで、この xml をドキュメントごとに分割
<entry>
し、marklogic データベースに挿入します。- また、このスクリプトは 30 秒ごとにスケジュールする必要があります。次のヒットでは
since_id
、URL のフィールドに最後のエントリの ID を追加する必要があります。
私は次のことを試みていますが、いくつかのエラーが発生しています。また、DB 名を指定する場所と追加する方法もわかりませんsince_id
。
let $content := xdmp:http-get("http://search.twitter.com/search.atom?q=pankaj&since_id=191622916163641344",
<options xmlns="xdmp:document-get">
<encoding>UTF-8</encoding>
</options>)
return
for $i in $content//entry
return
xdmp:document-insert(
"/example.xml", $content//entry,
xdmp:default-permissions(),
xdmp:default-collections(),
10)