XML verisi alınıyor
SQL Server içeriği XML örneğinin korur, ancak bu XML veri modelindeki önemli düşünülür değil XML örnek yönlerini korumaz.Bu alınan bir XML örnek aynı sunucuda saklanan örnek olmayabilir, ancak aynı bilgileri içerecek anlamına gelir.
Bu konu, veritabanlarında depolandığında korunmaz XML örneği bölümlerini açıklar.
XML bildirisi
XML bildirim örnek veritabanında depolanıyorsa, bir örneğinde korunmaz.Örneğin:
CREATE TABLE T1 (Col1 int primary key, Col2 xml)
GO
INSERT INTO T1 values (1, '<?xml version="1.0" encoding="windows-1252" ?><doc></doc>')
GO
SELECT Col2
FROM T1
Sonuç <doc/>.
XML bildirisi gibi <?xml version='1.0'?>, XML verileri saklarken korunmaz bir xml Veri örnek yazın. Bu, tasarım gereğidir.XML bildirim (<? xml... ?>) ve veri yazmak için dönüştürüldükten sonra özniteliklerini (sürüm/kodlama/stand-alone) kaybolur. xml. XML bildirim için XML parser bir yönerge olarak nitelenir.XML verileri, dahili ucs-2 ' saklanır.XML öğesinde diğer PIs örnek korunur.
Öznitelikleri sırası
Bir XML örneğinde özniteliklerin sırası korunmaz.Depolanan XML örnek hangi koşullarda sorgu xml Tür sütun, sonuç XML öznitelikleri sırasını, özgün XML örnekten farklı olabilir.
Öznitelik değerleri etrafına tırnak işaretleri
Tek tırnak ve iki öznitelik değerleri tırnak içine korunmaz.Öznitelik değerleri, bir adý ve deðeri çifti olarak veritabanında depolanır.Tırnak işaretleri depolanır.XML örnek bir XQuery çalıştırıldığında, sonuç XML öznitelik değerleri çift tırnak içine sıralanmış.
DECLARE @x xml
-- Use double quotation marks.
SET @x = '<root a="1" />'
SELECT @x
GO
DECLARE @x xml
-- Use single quotation marks.
SET @x = '<root a=''1'' />'
SELECT @x
GO
Her iki sorgu dönmek = <root a="1" />.
Ad boşluğu önekleri
Ad boşluğu öneklerinin korunmaz.Karşı XQuery belirttiğiniz bir xml Sütun türü seri hale getirilmiş bir XML sonucu, farklı bir ad boşluğu öneklerinin döndürebilir.
DECLARE @x xml
SET @x = '<ns1:root xmlns:ns1="abc" xmlns:ns2="abc">
<ns2:SomeElement/>
</ns1:root>'
SELECT @x
SELECT @x.query('/*')
GO
Ad alanı önekini sonuç farklı olabilir.Örneğin:
<p1:root xmlns:p1="abc"><p1:SomeElement/></p1:root>