यह SqlXml
में अनुवाद करता है
और आप एक XmlReader
प्राप्त कर सकते हैं के साथ SqlXml.CreateReader
कोड>
यह से। आपको SqlDataReader.GetSqlXml
स्ट्रिंग के बजाय प्रकार प्राप्त करने की विधि।
उदाहरण के लिए:
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
SqlXml xmlData =
reader.GetSqlXml(0);
XmlReader xmlReader = xmlData.CreateReader();
xmlReader.MoveToContent();
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Element)
{
string elementName = xmlReader.LocalName;
xmlReader.Read();
Console.WriteLine(elementName + ": " + xmlReader.Value);
}
}
}
अद्यतन करें: @Wiktor Zychla की एक उपयोगी टिप्पणी का उत्तर देने के लिए
इस दृष्टिकोण का प्रदर्शन बेहतर है और बहुत हो सकता है बड़े XML फ़ील्ड के साथ काम करते समय बेहतर होता है क्योंकि SqlReader.GetString
फ़ील्ड सामग्री को पहले एक स्ट्रिंग में लोड करेगा जबकि SqlReader.GetSqlXml
स्ट्रीम से सीधे XmlReader बनाता है। इसे सिस्टम पर एक नज़र के साथ जल्दी से सत्यापित किया जा सकता है। रिफ्लेक्टर में डेटा या इसी तरह के एक उपकरण।