Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एक्सएमएल पथ और एक्सएसआई के लिए:शून्य विशेषताएँ

मुझे नहीं लगता कि for xml path . का उपयोग करके उपश्रेणियों के साथ इस व्यवहार को रोकना संभव है . इसी तरह का एक मामला यहां बताया गया है। https ://connect.microsoft.com/SQLServer/feedback/details/265956/suppress-namespace-attributes-in-nested-select-for-xml-statements

यदि आप for xml explicit . का उपयोग करते हैं, तो आप मनचाहा आउटपुट प्राप्त कर सकते हैं इसके बजाय।

declare @T table(Level1 int, Level2 int)
insert into @T values(null, 2)

select 1    as Tag,
       null as Parent,
       null as [root!1],
       null as [nested1!2!level1!ELEMENTXSINIL],
       null as [nested1!2!level2!ELEMENTXSINIL],
       null as [nested2!3!level1!ELEMENTXSINIL],
       null as [nested2!3!level2!ELEMENTXSINIL]
union all
select 2    as Tag,
       1    as Parent,
       null,
       Level1,
       Level2,
       null,
       null
from @T       
union all
select 3    as Tag,
       1    as Parent,
       null,
       null,
       null,
       Level1,
       Level2
from @T       
for xml explicit       

परिणाम:

<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <nested1>
    <level1 xsi:nil="true" />
    <level2>2</level2>
  </nested1>
  <nested2>
    <level1 xsi:nil="true" />
    <level2>2</level2>
  </nested2>
</root>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर (T-SQL) में विभाजन कार्यों की सूची लौटाएँ

  2. मुद्रा के लिए स्वरूपण करते समय SQL क्वेरी में '-' के बाद '$' कैसे जोड़ें?

  3. कंटेन्स () का उपयोग करते समय 2100 पैरामीटर सीमा (एसक्यूएल सर्वर) को मारना

  4. SQL सर्वर 2012 OPENROWSET त्रुटि का उपयोग करके एक्सेस 2007 डेटा को क्वेरी कर रहा है

  5. स्कोप_पहचान बनाम पहचान_वर्तमान