Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I have recently ran into a wall with a task of converting HTML text string into a data table.
My data source is an API interface that returns page content as HTML code. The page consists of text, tables and graphics, so it's not the kind of source I can just connect with the table and get data from it.
I have a group of pages I neet to extract table data from and I have the example code fragment that contains the table:
<ac:parameter ac:name="title">Atrybuty</ac:parameter><ac:rich-text-body><table data-table-width="760" data-layout="default" ac:local-id="c2ffc0bb-83ce-4604-9bc0-22bc9cf1a925"><tbody><tr><td><p><strong>nazwa elementu danych</strong></p></td><td><p><strong>opis</strong></p></td><td><p><strong>pole obowiązkowe</strong></p></td><td><p><strong>słowniki </strong></p></td><td><p><strong>odpowiedzialność biznesowa</strong></p></td><td><p><strong>odpowiedzialność za uzupełnienie</strong></p></td><td><p><strong>odpowiedzialność</strong></p></td><td><p><strong>tabela</strong></p></td><td><p><strong>leksykon</strong></p></td></tr><tr><td><p>Numer zlecenia samochodowego</p></td><td><p>Unikatowy 12 znakowy numer rozpoczynający się od typu zlecenia "SA", kolejne 2 znaki stanowią prefiks jednostki gospodarczej zgodny z ID cyfrowym, wykorzystywanym w numeracji Jednostki Gospodarczej. 5 znak numeru zlecenia informuje o dziale gospodarczym; "0" oznacza brak działu gospodarczego, pozostałe znaki informują o istnieniu działu gospodarczego zgodnie ze słownikiem dział gospodarczy. Od 6 znaku do 12 znaku, umieszczamy numer rejestracyjny pojazdu.</p></td><td><p>TAK</p></td><td><p>NIE</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>NIE</p></td></tr><tr><td><p>Krótki tekst</p></td><td><p>W przypadku zleceń samochodowych krótki tekst zawiera markę i model pojazdu. </p></td><td><p>TAK</p></td><td><p>NIE</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p><ac:link><ri:page ri:content-title="S_Jednostka gospodarcza" ri:version-at-save="3" /><ac:link-body>Jednostka gospodarcza</ac:link-body></ac:link></p></td><td><p>jednostka gospodarcza, która jest właścicielem pojazdu lub jego najemcą</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p><a href="https://xxxx.atlassian.net/wiki/spaces/BAD/pages/11272205">Centrum Zysku</a></p></td><td><p>nr ośrodka odpowiedzialności zgodnie ze strukturą funkcjonalną</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p>Odpowiedzialne MPK</p></td><td><p>MPK osoby/ grupy roboczej użytkującej pojazd.</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p>Odpowiedziany Użytkownik</p></td><td><p>Login SAP użytkownika pojazdu, a w przypadku braku loginu, pole nie jest uzupełniane. </p></td><td><p>NIE</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p>Osoba odpowiedzialna</p></td><td><p>Uzupełniana w przypadku braku użytkownika odpowiedzialnego: nazwisko i imię użytkownika pojazdu, a w przypadku użytkowania przez kilka osób - imię i nazwisko jednej z nich. </p></td><td><p>TAK</p></td><td><p>NIE</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>NIE</p></td></tr><tr><td><p>Rodzaj zlecenia</p></td><td><p>Czteroznakowy numer rozpoczynający się od typu zlecenia "SA" oraz dwuznakowego prefiksu Jednostki Gospodarczej zgodnego z ID SAP wykorzystywanym w numeracji Jednostki Gospodarczej.</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p><ac:link><ri:page ri:content-title="S_Oddział" ri:version-at-save="3" /><ac:link-body>Oddział</ac:link-body></ac:link></p></td><td><p>oznaczenie oddziału przypisywane zgodnie ze strukturą organizacyjną spółki</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p><a href="https://xxx.atlassian.net/wiki/spaces/BAD/pages/14386833">Klient</a></p></td><td><p>multikient 10200208</p></td><td><p>TAK</p></td><td><p>NIE</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>NIE</p></td></tr><tr><td><p><a href="https://xxx.atlassian.net/wiki/spaces/BAD/pages/41910299">Poziom Pokrycia Finansowego</a></p></td><td><p>Nr pokrycia finansowego zgodnie z modelem układu pokryć finansowych. Dla pojazdów jest pobierany z MPK odpowiedzialnego.</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p><ac:link><ri:page ri:content-title="S_Pion" ri:version-at-save="4" /><ac:link-body>Pion</ac:link-body></ac:link></p></td><td><p>Oznaczenie pionu zgodnie ze strukturą funkcjonalną GI; dla pojazdów jest pobierany z MPK odpowiedzialnego.</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p>Wewnętrzne/Zewnętrzne</p></td><td><p>?????Z dla klienta zewnętrznego.</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p><ac:link><ri:page ri:content-title="Kontrakt nadrzędny" ri:version-at-save="67" /><ac:link-body>Kontrakt Nadrzędny</ac:link-body></ac:link></p></td><td><p>Stałe oznaczenie dla pojazdów: multikontrakt (7999999999)</p></td><td><p>TAK</p></td><td><p>NIE</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>NIE</p></td></tr><tr><td><p><ac:link><ri:page ri:content-title="Kontrakt podrzędny" ri:version-at-save="55" /><ac:link-body>Kontrakt Podrzędny</ac:link-body></ac:link></p></td><td><p>Stałe oznaczenie dla pojazdów: multikontrakt (7999999999)</p></td><td><p>TAK</p></td><td><p>NIE</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>NIE</p></td></tr><tr><td><p>Produkt</p></td><td><p>W przypadku pojazdów zawsze PR99 (Pozostałe)</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p><ac:link><ri:page ri:content-title="Klient zewnętrzny" ri:version-at-save="20" /><ac:link-body>Klient zewnętrzny</ac:link-body></ac:link></p></td><td><p>multikient 10200208</p></td><td><p>TAK</p></td><td><p>NIE</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>NIE</p></td></tr><tr><td><p><a href="https://xxx.atlassian.net/wiki/spaces/BAD/pages/13566050">Grupa produktowa</a></p></td><td><p>oznaczenie grupy produktowej zgodnie z podziałem biznesowym; dla pojazdów pobierana z MPK odpowiedzialnego</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p>Dział gospodarczy</p></td><td><p>oznaczenie działu gospodarczego uzupełniane tylko w przypadku wydzielenia części przedsiębiorstwa</p></td><td><p>NIE</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p>Status</p></td><td><p>status aktywności zlecenie (aktywne, nieaktywne)</p></td><td><p>TAK</p></td><td><p>TAK</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>TAK</p></td></tr><tr><td><p>Zlecenie odbiorcze</p></td><td><p>Pole wykorzystywane w workflow FI do automatycznego księgowania faktur. Uzupełniane w zleceniach CO u usługodawcy. Wskazuje obiekt CO usługobiorcy, na który ma zostać zaksięgowana faktura.</p></td><td><p>NIE</p></td><td><p>NIE</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>NIE</p></td></tr><tr><td><p>MPK odbiorczy</p></td><td><p>Pole wykorzystywane w workflow FI. Uzupełniane w zleceniach CO u usługodawcy. Wskazuje obiekt CO usługobiorcy, na który ma zostać zaksięgowana faktura.</p></td><td><p>NIE</p></td><td><p>NIE</p></td><td><p /></td><td><p /></td><td><p>Pan Przykład</p></td><td><p /></td><td><p>NIE</p></td></tr></tbody></table>
I believe it is possible to extract this table using HTML markers: </td> <td> </td></tr> <tr>, but I can't comprehend what exactly should I do to make it happen. I tried using WHILE loop, but I managed only to extract single values from the table and the resulting data had no column or row structure.
Any help would be much appreciated.