2009-04-14 5 views
0

Ich habe eine SQL Server 2005-Tabelle, die XML-Speicher in einem Textfeld hat. Ich frage mich, ob es einen einfachen Weg (mit TSQL) gibt, den a-Wert aus den XML-Daten abzurufen, ohne den Text zeilenweise zu analysieren.Abfrage XML-Speicher in einem Textfeld

Eine Zeile-für-Zeile-Analyse ist möglich, weil die Menge an XML ziemlich klein ist. Wenn es mir möglich ist, möchte ich jedoch eine Methode mit höherer Leistung finden.

Hinweis: das XML wurde mithilfe einer FoxPro-CURSORTOXML-Funktion (in einer FoxPro-Front-End-Anwendung) erstellt und anschließend in einem Textfeld in einer SQL Server-Tabelle gespeichert. Das XML-Schema ist als Teil der gespeicherten XML-Datei integriert.

Irgendwelche Vorschläge würden geschätzt!

Antwort

1

Sie können die XML-Daten aus der Spalte abrufen und in den XML-Datentyp konvertieren und das XML einfach mit XQuery abfragen oder XPath verwenden, um daraus Werte zu extrahieren.

XML Support In SQL Server 2005

z.B.

DECLARE @xml XML 
Select @xml = CAST(ColData AS XML) 
@xml.value('<xquery expression goes here>'); 
1

Ja. Ein Beispiel hier „Importing XML into SQL Server“ und ein anderer „Search XML in SQL Server

Andernfalls bitte können Sie die xml posten und wir können einige Ideen bieten ... gibt es leicht unterschiedliche Lösungen, basierend auf, ob die Werte zu lesen, Attribute, Hierarchie usw.

+0

Danke für die Links - sie haben geholfen. – Clinemi

0

Sie möchten Leistungstests für beide Lösungen durchführen (in XML konvertieren statt zeilenweise analysieren).

Verwandte Themen