2013-11-03 70 views
2

我是WSO2 Data Services Server的新手,想弄清楚如何使用web scraper正確地工作。使用界面我似乎可以定義對象,但我不確定如何在定義它時使用它。下面是數據服務XML ...如何在WSO2 DSS中使用複雜的對象元素?

<data name="ComplexTypeExample"> 
    <description>A Description</description> 
    <config id="GetPrices"> 
     <property name="web_harvest_config">./samples/resources/GetPrices.xml</property> 
    </config> 
    <query id="getSonyPrices" useConfig="GetPrices"> 
     <scraperVariable>priceInfoSony</scraperVariable> 
     <result element="CameraInfo" rowName="Record"> 
     <element column="Pic" name="Pic" xsdType="string"/> 
     <element column="Desc" name="Desc" xsdType="string"/> 
     <element name="Inventory" namespace=""> 
      <element name="Item" namespace=""> 
       <element column="Grade" name="Grade" xsdType="string"/> 
       <element column="Price" name="Price" xsdType="string"/> 
      </element> 
     </element> 
     </result> 
    </query> 
    <operation name="getSonyPricesOperation"> 
     <description>Gets prices of KM/Sony cameras</description> 
     <call-query href="getSonyPrices"/> 
    </operation> 
</data> 

我想要做的是弄清楚如何讓庫存元素爲一個項目類型的數組。像這樣的東西...

<Record> 
    <Pic>Camera.jpg</Pic> 
    <Desc>A camera made by some company</Desc> 
    <Inventory> 
     <Item> 
      <Grade>Good</Grade> 
      <Price>$200</Price> 
     </Item> 
     <Item> 
      <Grade>Not So Good</Grade> 
      <Price>$100</Price> 
     </Item> 
     <Item> 
      <Grade>Broken</Grade> 
      <Price>$10</Price> 
     </Item> 
    </Inventory> 
    </Record> 

任何人都可以提供一些提示,我要去哪裏錯了嗎?

回答

1

看起來你已經根據你的結果集正確地完成了你的複雜元素映射。你是否在拼湊值時遇到困難?如果是這樣,你必須向我們提供scraping配置,並且還必須根據複雜的元素編寫xslt文件。

請參考下面的指南web scraping

+0

其實,這個問題是我上面提供不起作用該元素映射。我的問題不是我從HTML中挑選正確的元素 - 我在週末做了一個問題。我的問題是,除了最初的結果元素之外,我無法創建一個複雜的元素。最後,我終於放棄了,只是將級別和價格密鑰對連接成一個元素內的逗號分隔值。不理想,但確實奏效。 –