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

एक्सएमएल पथ ('') के लिए:विशेष पात्रों से बचना

आपको जो एक्सएमएल मिलता है वह सही है। यह XML है , टेक्स्ट नहीं, और XML पार्सर द्वारा XML के रूप में पढ़ने योग्य। विशेष पात्र ठीक से बच निकले हैं, जैसा कि उन्हें होना चाहिए। आपके पास जो भी क्लाइंट मॉड्यूल है, वह उपभोग करता है कि एक्सएमएल को इसे एक्सएमएल के रूप में पार्स करना चाहिए, टेक्स्ट के रूप में नहीं, और फिर यह ठीक से प्रदर्शित होगा।

अपडेट करें:

यदि स्पष्ट नहीं है, तो आपको अपनी क्वेरी में केवल XML को XML और टेक्स्ट को टेक्स्ट के रूप में देखना है, XML को टेक्स्ट के रूप में नहीं मिलाना है, अर्थात:

;WITH CodeValues AS
    (
    SELECT
        Number,SUBSTRING(@R,Number,1) AS R,ASCII(SUBSTRING(@U,Number,1)) AS UA
        FROM Numbers
        WHERE Number<=LEN(@R)
    )
, XmlValues AS (
SELECT
        t.RowID
            ,(SELECT
                  ''+c.R
                  FROM Numbers               n
                      INNER JOIN CodeValues  c ON ASCII(SUBSTRING(t.Unreadable,n.Number,1))=c.UA
                  WHERE n.Number<=LEN(t.Unreadable) 
                  FOR XML PATH(''), TYPE
             ) AS readable
        FROM @TestTable t)
SELECT x.RowId,
    x.readable.value('.', 'VARCHAR(8000)') as readable
    FROM XmlValues AS x



  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 कथनों में पैरामीटर का उपयोग करना क्यों पसंद करते हैं?

  2. यह पता लगाने के लिए OBJECTPROPERTY() का उपयोग करें कि क्या कोई ऑब्जेक्ट SQL सर्वर में एक जाँच बाधा है

  3. SQL सर्वर ऑपरेटिंग सिस्टम त्रुटि 5:5 (प्रवेश निषेध है।)

  4. SQL सर्वर 2008 में स्प्लिट फ़ंक्शन

  5. T-SQL का उपयोग करके SQL सर्वर में डेटाबेस का नाम कैसे बदलें