ऐसी स्थितियां हैं जहां एक व्यक्ति अच्छी तरह से गठित एक्सएमएल नहीं चाहता है - एक मैं (और शायद मूल पोस्टर) का सामना करना पड़ा एक रिकर्सिव क्वेरी के माध्यम से 'बच्चे' आइटम की एक फ़ील्ड सूची वापस करने के लिए एक्सएमएल पथ तकनीक का उपयोग कर रहा था। इस तकनीक के बारे में अधिक जानकारी यहाँ है (विशेष रूप से 'द ब्लैकबॉक्स एक्सएमएल मेथड्स' सेक्शन में):Transact-SQL में पंक्ति मानों को जोड़ना
मेरी स्थिति के लिए, 'एच एंड ई' (एक विकृति विज्ञान का दाग) को 'अच्छी तरह से गठित एक्सएमएल' में बदलना एक वास्तविक निराशा थी। सौभाग्य से, मुझे एक समाधान मिल गया ... निम्नलिखित पृष्ठ ने मुझे इस मुद्दे को अपेक्षाकृत आसानी से हल करने में मदद की और मेरी पुनरावर्ती क्वेरी को फिर से आर्किटेक्ट किए बिना या प्रस्तुति स्तर पर अतिरिक्त पार्सिंग जोड़ने के लिए (इसके लिए और साथ ही अन्य/भविष्य की स्थितियों के लिए जहां मेरा बच्चा -पंक्तियों डेटा फ़ील्ड में आरक्षित XML वर्ण होते हैं):एक्सएमएल पथ के लिए विशेष वर्णों को संभालना
संपादित करें:संदर्भित ब्लॉग पोस्ट से नीचे कोड।
select
stuff(
(select ', <' + name + '>'
from sys.databases
where database_id > 4
order by name
for xml path(''), root('MyString'), type
).value('/MyString[1]','varchar(max)')
, 1, 2, '') as namelist;