Guten Morgen,
Ich versuche krampfhaft eine XML-Datei auszulesen aber es gelingt mir nicht.
Die XML Datei im grob sieht so aus:
<collection xmlns="http://www.loc.gov/MARC21/slim"> <record type="Authority"> <leader>00000nz a2200000nc 4500</leader> <controlfield tag="001">1011387409</controlfield> <controlfield tag="003">DE-101</controlfield> <controlfield tag="005">20150227101359.0</controlfield> <controlfield tag="008">110430n</controlfield> <datafield tag="024" ind1="7" ind2=" "> <subfield code="a">http://d-nb.info/brd/123</subfield> <subfield code="2">uri</subfield> </datafield> <datafield tag="035" ind1=" " ind2=" "> <subfield code="a">(DE-101)105f563</subfield> </datafield> <datafield tag="035" ind1=" " ind2=" "> <subfield code="a">(DE-588)632a452</subfield> </datafield> </record> </collection>
Bis jetzt habe ich die Select Abfrage gemacht:
SELECT
orga.ref.value('leader[1]','varchar(255)') leader,
orga.ref.value('controlfield[1]','varchar(255)') controlfield,
orga.ref.value('datafield[1]','varchar(255)') datafield,
orga.ref.value('subfield[1]','varchar(255)') subfield
FROM (
--Abfrage auf Import-Tabelle
Select Top 1 xmlData
FROM dbo.orgaImportHistory
order by loadedDateTime desc
) xml
cross apply xml.xmlData.nodes('collection/record/datafield') orga(ref)
Allerdings als Ergebnis bekomme ich leere Zeilen, anstatt die Werte.
Ich behautpte, dass es um Namespace problem hier geht.
Aber seit zwei Tage finde ich leider keine Lösung und ich bin kein Programmierer.
Könnte mir jemnad weiter helfen?
Falls ich im falschen Forum bin, bitte mitteilen!
Viele Grüße aus Ulm!
P.S: Code von xml Datei, wenn ich hier kopiere, es rutsch alles zusammen. Die XML Code sieht natürich anders aus.
Ich versuche krampfhaft eine XML-Datei auszulesen aber es gelingt mir nicht.
Die XML Datei im grob sieht so aus:
<collection xmlns="http://www.loc.gov/MARC21/slim"> <record type="Authority"> <leader>00000nz a2200000nc 4500</leader> <controlfield tag="001">1011387409</controlfield> <controlfield tag="003">DE-101</controlfield> <controlfield tag="005">20150227101359.0</controlfield> <controlfield tag="008">110430n</controlfield> <datafield tag="024" ind1="7" ind2=" "> <subfield code="a">http://d-nb.info/brd/123</subfield> <subfield code="2">uri</subfield> </datafield> <datafield tag="035" ind1=" " ind2=" "> <subfield code="a">(DE-101)105f563</subfield> </datafield> <datafield tag="035" ind1=" " ind2=" "> <subfield code="a">(DE-588)632a452</subfield> </datafield> </record> </collection>
Bis jetzt habe ich die Select Abfrage gemacht:
SELECT
orga.ref.value('leader[1]','varchar(255)') leader,
orga.ref.value('controlfield[1]','varchar(255)') controlfield,
orga.ref.value('datafield[1]','varchar(255)') datafield,
orga.ref.value('subfield[1]','varchar(255)') subfield
FROM (
--Abfrage auf Import-Tabelle
Select Top 1 xmlData
FROM dbo.orgaImportHistory
order by loadedDateTime desc
) xml
cross apply xml.xmlData.nodes('collection/record/datafield') orga(ref)
Allerdings als Ergebnis bekomme ich leere Zeilen, anstatt die Werte.
Ich behautpte, dass es um Namespace problem hier geht.
Aber seit zwei Tage finde ich leider keine Lösung und ich bin kein Programmierer.
Könnte mir jemnad weiter helfen?
Falls ich im falschen Forum bin, bitte mitteilen!
Viele Grüße aus Ulm!
P.S: Code von xml Datei, wenn ich hier kopiere, es rutsch alles zusammen. Die XML Code sieht natürich anders aus.
Comment