Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Tabelle aus XHTML importieren

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von ukulele, 5 Januar 2016.

  1. ukulele

    ukulele Datenbank-Guru

    Ich befasse mich grade mit XHTML und XML. Ich möchte aus einer XHTML Datei, die ich nicht selbst erstelle und die genau eine Tabelle beinhaltet die Daten in SQL nutzbar machen.

    Ich kann den gesamten Inhalt der HTML Datei in eine XML Spalte meiner Tabelle legen, das klappt so weit. Die original Datei ist groß und komplex aber ich scheitere schon an ganz simplen Dingen und verstehe es offensichtlich nicht richtig :(

    Hier mein derzeitiger Versuch:
    Code:
    DECLARE    @data XML
    
    SET        @data = '
    <table>
        <tr>
            <th>Berlin</th>
            <th>Hamburg</th>
            <th>München</th>
        </tr>
        <tr>
            <td>Miljöh</td>
            <td>Kiez</td>
            <td>Bierdampf</td>
        </tr>
        <tr>
            <td>Buletten</td>
            <td>Frikadellen</td>
            <td>Fleischpflanzerl</td>
        </tr>
    </table>'
    
    SELECT    x.y.value('th[1]', 'VARCHAR(2000)') AS [1],
            x.y.value('td[1]', 'VARCHAR(2000)') AS [2],
            x.y.value('td[2]', 'VARCHAR(2000)') AS [3]
    FROM    @data .nodes('//table/tr') AS x(y)
    Das ergibt:
    Quelle ist unter anderem hier:
    How to Import Data from HTML pages
     
  2. ukulele

    ukulele Datenbank-Guru

    Also nachdem ich gestern dann mal das HTML des originalen Dokuments zerlegt habe verstehe ich jetzt auch besser wie es läuft und bekomme vor allem meine Daten in die richtigen Spalten.

    Allerdings entfernt er mir alles, was irgendwie an weiteren HTML-Tags (<br>, <div>, <a href>) in der Tabelle steht, die Infos brauche ich noch. Gibt es da einen Weg das zu unterbinden?
     
  3. ukulele

    ukulele Datenbank-Guru

    Okay .value() liefert nur den Wert, .query() liefert auch alle Tags mit aus.
     
  4. Tommi

    Tommi Datenbank-Guru

    Hallo ukulele (frohes neues und so ...)

    ich finde das Thema XML für den SQL-Server äußerst interessant und habe mich selbst auch schon sehr intensiv damit beschäftigt (auch wenn das jetzt scon wieder was länger her ist).

    Wahrschenlich hast du bereits diverse Seiten im Internet gefunden, die dir weitergeholfen haben.

    Für alle anderen, die das Thema auch interessiert - mich haben folgende Seiten weiter gebracht:

    xml-Datentypmethoden
    XQuery für den xml-Datentyp

    Viele Grüße,
    Tommi
     
  5. ukulele

    ukulele Datenbank-Guru

    Ja ich arbeite jetzt mit .value() und .query() und das klappt sehr gut nachdem ich die eigentliche Daten-Tabelle aus der Webseite in eine eigene XML Spalte übertragen habe.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden