0

基本的なトランスフォーマーを使用して、Twitter の JSON の検索出力を Marklogic にロードし、それを Marklogic の JSON XML 形式に変換しました。

次のXQueryを使用してIDを照会しようとすると

xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";
for $r in doc()/json
let $b:=$r/id
return (
$b)

結果がないと不平を言い続けます。

doc() を使用すると、xml は正常に表示されますが、doc()/json には何も表示されません。

以下は、Marklogic が Twitter からの JSON 出力から生成した XML のスニペットです。

<?xml version="1.0" encoding="UTF-8"?>
<json type="object" xmlns="http://marklogic.com/xdmp/json/basic">
  <contributors type="null"/>
  <truncated type="boolean">false</truncated>
  <text type="string">@angelicism I love this site: http://t.co/XIjckcu0Lk</text>
  <in__reply__to__status__id type="number">369589929183297536</in__reply__to__status__id>
  <id type="number">369595664277065728</id>
  <favorite__count type="number">0</favorite__count>
...
4

2 に答える 2

3

選択しようとしている要素は、XPath で指定する必要がある名前空間にあります。これを試して:

xquery version "1.0-ml";
declare namespace html = "http://www.w3.org/1999/xhtml";
declare namespace json = "http://marklogic.com/xdmp/json/basic";
for $r in doc()/json:json
let $b:=$r/json:id
return (
$b)
于 2013-08-20T10:50:29.160 に答える