Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In XML werden CDATA-Abschnitte verwendet, um Textblöcke zu escapen, die Zeichen enthalten, die andernfalls als Markupzeichen erkannt werden.
Eine Datenbank in Microsoft SQL Server kann manchmal Zeichen enthalten, die vom XML-Parser als Markupzeichen behandelt werden. Beispielsweise werden winkelige Klammern (< und >), das Kleiner-als-oder-gleichheitssymbol (<=) und das kaufmännische Und -Zeichen (&) als Markupzeichen behandelt. Sie können diese Art von Sonderzeichen jedoch in einem CDATA-Abschnitt umschließen, um zu verhindern, dass sie als Markupzeichen behandelt werden. Der Text im CDATA-Abschnitt wird vom XML-Parser als Nur-Text behandelt.
Die sql:use-cdata Anmerkung wird verwendet, um anzugeben, dass die von SQL Server zurückgegebenen Daten in einen CDATA-Abschnitt eingeschlossen werden sollen (d. h. es gibt an, ob der Wert aus einer Spalte, die angegeben sql:field wird, in einen CDATA-Abschnitt eingeschlossen werden soll). Die sql:use-cdata Anmerkung kann nur für Elemente angegeben werden, die einer Datenbankspalte zugeordnet sind.
Die sql:use-cdata Anmerkung akzeptiert einen booleschen Wert (0 = false, 1 = true). Zulässig sind die Werte 0, 1, true und false.
Diese Anmerkung kann nicht mit sql:url-encode oder in den Attributtypen ID, IDREF, IDREFS, NMTOKEN und NMTOKENS verwendet werden.
Beispiele
Es müssen bestimmte Anforderungen erfüllt sein, damit aus den folgenden Beispielen funktionierende Beispiele erstellt werden können. Weitere Informationen finden Sie unter Anforderungen für das Ausführen von SQLXML-Beispielen.
Ein. Angeben von sql:use-cdata für ein Element
Im folgenden Schema sql:use-cdata wird für die <AddressLine1> innerhalb des <Address-Elements> auf 1 (True) festgelegt. Daher werden die Daten in einem CDATA-Abschnitt zurückgegeben.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Address"
sql:relation="Person.Address"
sql:key-fields="AddressID" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="AddressID" type="xsd:string" />
<xsd:element name="AddressLine1" type="xsd:string"
sql:use-cdata="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
So testen Sie eine XPath-Beispielabfrage für das Schema
Kopieren Sie den oben stehenden Schemacode, und fügen Sie ihn in eine Textdatei ein. Speichern Sie die Datei als UseCData.xml.
Kopieren Sie die folgende Vorlage, und fügen Sie sie in eine Textdatei ein. Speichern Sie die Datei als UseCDataT.xml im selben Verzeichnis, in dem Sie UseCData.xmlgespeichert haben.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="UseCData.xml"> /Address[AddressID < 11] </sql:xpath-query> </ROOT>Der für das Zuordnungsschema (UseCData.xml) angegebene Verzeichnispfad ist relativ zum Verzeichnis, in dem die Vorlage gespeichert wird. Es kann auch ein absoluter Pfad angegeben werden. Beispiel:
mapping-schema="C:\SqlXmlTest\UseCData.xml"Erstellen und verwenden Sie das SQLXML 4.0-Testskript (Sqlxml4test.vbs), um die Vorlage auszuführen.
Weitere Informationen finden Sie unter Verwenden von ADO zum Ausführen von SQLXML 4.0-Abfragen.
Dies ist der partielle Resultset:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Address>
<AddressID>1</CustomerID>
<AddressLine1>
<![CDATA[ 1970 Napa Ct. ]]>
</AddressLine1>
</Address>
<Address>
<AddressLine1>
<![CDATA[ 9833 Mt. Dias Blv. ]]>
</AddressLine1>
</Address>
...
</ROOT>