Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
SuwerenPL
Contributor II
Contributor II

Extracting table from a HTML string fragment

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&nbsp;</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 &quot;SA&quot;, kolejne 2 znaki stanowią prefiks jednostki gospodarczej zgodny z ID cyfrowym, wykorzystywanym w numeracji Jednostki Gospodarczej. 5 znak numeru zlecenia informuje o dziale gospodarczym; &quot;0&quot; 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&oacute;tki tekst</p></td><td><p>W przypadku zleceń samochodowych kr&oacute;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&oacute;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&oacute;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 &quot;SA&quot; 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&oacute;ł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&oacute;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&oacute;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&oacute;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&oacute;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&oacute;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&oacute;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&oacute;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&oacute;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.

Labels (1)
0 Replies