2013-07-31 65 views
0

我在嘗試的是從預定義列表中獲取多個網頁。 下面是代碼:網絡收穫:從列表中抓取多個網址

<?xml version="1.0" encoding="UTF-8"?> 
    <config> 

     <script> 
      <![CDATA[ 
       String[] codes = new String[] {"18","21","24","25","26"}; 
       SetContextVar("codes", codes); 
      ]]> 
     </script> 
     <loop item="link"> 
      <list> 
       <var name="codes" /> 
      </list> 
      <body> 

       <var-def name="webpage"> 
        <html-to-xml>         
        <http url="${sys.fullUrl('http://www.someurl.com/',link)}"/>    
        </html-to-xml> 
       </var-def> 
      </body> 
     </loop> 
    </config> 

和錯誤是「變量賦值:代碼:不能分配org.webharvest.runtime.variables.ListVariable爲java.lang.String」

什麼我在這裏想念嗎?

回答

1

請試試這個exmple:

<config> 

    <var-def name="Codes"> 
    <![CDATA[<Codes>]]> 
    <![CDATA[<Code>]]>18<![CDATA[</Code>]]> 
    <![CDATA[<Code>]]>21<![CDATA[</Code>]]> 
    <![CDATA[<Code>]]>24<![CDATA[</Code>]]> 
    <![CDATA[<Code>]]>25<![CDATA[</Code>]]> 
    <![CDATA[</Codes>]]> 
    </var-def> 

    <loop item="CodesLoop" index="i"> 
    <list> 
     <xpath expression="//Code/text()"> 
     <var name="Codes"/> 
     </xpath> 
    </list> 
    <body> 
     <file action="write" path="D:\ABC\${CodesLoop}.txt" charset="UTF-8"> 
     <template>${CodesLoop}</template> 
     </file> 
    </body> 
    </loop> 
</config>