Парсинг xml, с повторяющимися параметрами

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Lord_Shinnok, 13 Oct 2011.

Thread Status:
Not open for further replies.
  1. Lord_Shinnok

    Lord_Shinnok New Member

    Joined:
    30 Jul 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    Есть следующй участок xml кода
    Code:
     <referals count="2">
    <user login="bogdan9" count_ref1="0" send_mail="27" view_mail="1" date_reg="1312392430" date_akt="1312394027" price="" online="0"/>
    <user login="user2000" count_ref1="0" send_mail="47" view_mail="1" date_reg="1313773396" date_akt="1314797860" price="" online="0"/>
    </referals>
    
    значение строки referals count не фиксировано,и может равняться любому числу, начиная от 1.
    требуется пропарсить этот код и вписать полученные значения в таблицу StringGrid. При этом в обычные поля, не являющиеся Fixed.
    Строку fixed заполнить удалось, при попытке заполнить таким же образом остальные значения таблицы, компилятор выдает ошибку, елси же задавать код обычным образом,то есть не через парсинг, а с заранее известными значениями (то есть неиспользуя то, что требуется), то выводится нормально, но в каждой новый строке выводится обно и то же значение.
    Для заполнения таблицы предполагаю использовать цикл for i:=1 to s do, где s - значение "referals count" + 1 (лишняя строка - как раз fixed. в ней находятся заголовки столбцов).

    Сложность возникла как раз с парсингом страцицы, количество user login, которые необходимо пропарсить известно, но они не как не проннумерованы и нет никаких маркеров, что бы можно было определить что необходимо начать заполнять новую строку в таблице (необходимо каждую строку таблицы заполнять, начиная со следующего значения user login, то есть в данном случае будет заполнено 2 строки - первая начинается user login="bogdan9", вторая <user login="user2000". Как пропарсить данный xml код (код, где нет повторяющихся атрибутов, как в текущем я с другом парсил, данный код никак не получается (ввиду повторяющихся атрибутов user login, количество которых заранее не известно, их количество становится известным на момент открытия данного окна, где расположена таблица).
    Просьба написать образец парсинга на примере данного кода.

    Программа пишется на Delphi.
     
    #1 Lord_Shinnok, 13 Oct 2011
    Last edited: 13 Oct 2011
  2. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    Вот, проектик на Delphi 7 - смотри. http://www.sendspace.com/file/zr6mog
     
  3. Lord_Shinnok

    Lord_Shinnok New Member

    Joined:
    30 Jul 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    посмотрим. но незнаю, скорее всего там не мой случай в парсинге (как я уже писал, ранее парсинг выходил, а в данном месте он не работатет)
     
  4. Lord_Shinnok

    Lord_Shinnok New Member

    Joined:
    30 Jul 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    все, спасибо, работает.
    тему можно закрыть
     
Thread Status:
Not open for further replies.