2014-10-17 110 views
0

問題我想用<![CDATA[ ]]>標記中的一些JSON數據向谷歌搜索設備提供一個xml文件,但沒有得到預期的結果,因爲GSA以HTML格式呈現。谷歌搜索設備問題飼料

下面是我想對GSA-

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE gsafeed PUBLIC "-//Google//DTD GSA Feeds//EN" "gsafeed.dtd"> 
<gsafeed> 
<header> 
<datasource>samples_feed</datasource> 
<feedtype>Full</feedtype> 
</header> 
<group> 
<record url="some url" action="add" mimetype="application/json"> 
<content> 
<![CDATA[ 
{"1":"Samlpe","2":"JSON","3":false}]]> 
</content> 
</record> 
</group> 
</gsafeed> 

回答

0

的GSA正在索引您CDATA的內容爲純文本養活文件。無論內容類型和MIME類型如何,發送到GSA的所有內容的索引方式都是相同的。它被轉換成HTML然後索引。如果您希望在結果中使用結構化內容,請使用Feed協議中包含的元數據或使用html元數據創建html文檔。

1

通過記錄內容格式化的方式,您一定能夠讓GSA爲內容建立索引,但是您將無法取回JSON數據作爲結果的一部分。爲此,您需要[編碼並]將其嵌入到元數據標記的內容中。對於例如,

<content> 
    <![CDATA[ 
    <head> 
    <meta name="jsondata" content='{"1":"Samlpe","2":"JSON","3":false}'> 
    </head><body></body> 
    </html> 
    ]]> 
    </content> 

然後當你真正做一個搜索(您希望上面的記錄相匹配),通過在「& getfields = jsondata」或「getfields = *」的查詢字符串 - 有了這個,你應該能夠看到你的結果,其中包括一個元素中的json數據,如下所示:

<MT N="jsondata" V="{'your': 'json', 'data': 'here'}">