Welcome to Sign in | Help

xml get value sql server 2005

  •  08-03-2010, 11:12 AM

    xml get value sql server 2005

    salut, am o aplicatie care imi genereaza un xml de forma:

    DECLARE @xVar XML
    SET @xVar =<array>
    <XML_Serializer_Tag>
    <nume>KOC ADEM</nume>
    </tip>
    <procent> 25</procent>
    <data_nastere>22-05-1971</data_nastere>
    </XML_Serializer_Tag>

    <XML_Serializer_Tag>
    <nume>KOC ADEM2</nume>
    <tip>0</tip>
    <procent> 25</procent>
    <data_nastere>22-05-1971</data_nastere>
    </XML_Serializer_Tag>
    </array>

    problema este ca acolo unde nu am valori pt un tag anume imi baga doar tagul de sfarsit, exemplu la tip /tip

    eu vreau sa extrag datele respective sub foma de tabel in forma

    nume, tip, procent, data_nasterii

    cu urmatorul select:

    SELECT
    nref.value('nume[1]', 'nvarchar(50)') Nume,
    nref.value('tip[1]', 'nvarchar(50)') tip,
    nref.value('procent[1]', 'nvarchar(50)') procent,
    nref.value('data_nastere[1]', 'nvarchar(50)') data_nastere
    FROM @xVar.nodes('//XML_Serializer_Tag') AS R(nref)

    problema este ca imi intoarce urmatoarea eroare:

    Msg 9436, Level 16, State 1, Line 2
    XML parsing: line 4, character 6, end tag does not match start tag

    de la acel tag nedeschis.

    daca scot acel /tip functioneaza cum trebuie sau daca as avea deschiderea respectivului tag tip

    cum pot face asta din sql(t-sql).

    multumesc.
    Alex
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems