определение переменной массива в веб-сборе - PullRequest
0 голосов
/ 02 ноября 2011

Я использую Web-Harvest для извлечения некоторых данных с сайта.
Сайт получает переменную POST с именем Code и предоставляет данные в соответствии с ней.
Доступные коды собраны с другой страницы этого сайта.
Как определить переменную типа массива для хранения данных, связанных с кодом, в виде переменной типа массива, чтобы я мог получить их с помощью цикла в основной программе?
Я имею в виду что-то вроде этого:

Data[code1]={key1=val1, key2=val2, key3=val3,...}
Data[code2]={key1=val1, key2=val2, key3=val3,...}
Data[code3]={key1=val1, key2=val2, key3=val3,...}
Data[code4]={key1=val1, key2=val2, key3=val3,...}
...

1 Ответ

3 голосов
/ 16 декабря 2011

Вы можете использовать тег <script> и создавать внутри него массив, используя BeanShell, Groovy или JavaScript.По умолчанию используется BeanShell.

Затем откройте его для своего сценария с помощью метода SetContextVar() или return атрибута <script>.

Ниже приведен пример построения массива строк codesи затем перебирает их с помощью <loop>.

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

<config>
    <script><![CDATA[
            String[] codes = new String[] {"one", "two", "three"};
            SetContextVar("codes", codes);
        ]]></script>

    <loop item="code">
        <list>
            <var name="codes" />
        </list>
        <body>
            <var name="code" />
        </body>
    </loop>
</config>

Подробнее о <script> в руководстве Web-Harvest .

...