Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Az alábbi példák bemutatják, hogyan definiálják az explicit konvertáló függvényeket az XPath lekérdezésekben. Az XPath lekérdezések ezekben a példákban a SampleSchema1.xmláltal található leképezési sémához vonatkoznak. Erről a mintasémáról további információkért lásd: Sample Annotated XSD séma XPath példákhoz (SQLXML 4.0).
Példák
A. Használd a number() explicit átalakító függvényt
A number() függvény egy argumentumot számmá alakít.
Ha feltételezzük, hogy a ContactID értéke nem numerikus, a következő lekérdezés átalakítja a ContactID-t egy számra, és összehasonlítja azt a 4-es értékkel. A lekérdezés ezután visszaadja a kontextuscsomópont összes <Employee> elem gyermekét, amelynek ContactID attribútuma 4-es számértékű:
/child::Contact[number(attribute::ContactID)= 4]
A attribútumtengelyhez (@) rövidítés is megadható, és mivel a gyermektengely az alapértelmezett, kihagyható a lekérdezésből:
/Contact[number(@ContactID) = 4]
Relációs értelemben a lekérdezés egy olyan alkalmazottat eredményez, akinek a ContactID 4.
Az XPath lekérdezés tesztelése a leképezési sémával
Másold le a mintasémakódot , és beilleszted egy szövegfájlba. Mentse el a fájlt SampleSchema1.xml.
Hozd létre a következő sablont (ExplicitConversionA.xml), és mentsd abba a könyvtárba, ahol SampleSchema1.xml mentették.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Contact[number(@ContactID)=4] </sql:xpath-query> </ROOT>A leképezési sémához (SampleSchema1.xml) megadott könyvtári út viszonyítja azt a könyvtárat, ahol a sablon mentő. Abszolút út is meghatározható, például:
mapping-schema="C:\MyDir\SampleSchema1.xml"Hozd létre és használd az SQLXML 4.0 Test Scriptet (Sqlxml4test.vbs) a sablon végrehajtásához.
További információ: SqlXML 4.0-lekérdezések végrehajtása az ADO használatával.
Ennek a sablon végrehajtásának az eredményhalmaza a következő:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>
B. Használd a string() explicit konvertáló függvényt
A string() függvény egy argumentumot stringré alakít.
A következő lekérdezés átalakítja a ContactID-t egy stringgróbbá, és összehasonlítja azt a "4" sorértékkel. A lekérdezés a kontextuscsomópont összes <Employee> elem gyermekét adja vissza, amelynek ContactID-je "4" stringértékkel:
/child::Contact[string(attribute::ContactID)="4"]
A attribútumtengelyhez (@) rövidítés is megadható, és mivel a gyermektengely az alapértelmezett, kihagyható a lekérdezésből:
/Contact[string(@ContactID)="4"]
Funkcionálisan ez a lekérdezés ugyanazt az eredményt adja vissza, mint az előző példa lekérdezés, bár az értékelés egy string érték alapján történik, nem pedig a numerikus érték (azaz a 4-es szám).
Az XPath lekérdezés tesztelése a leképezési sémával
Másold le a mintasémakódot , és beilleszted egy szövegfájlba. Mentse el a fájlt SampleSchema1.xml.
Hozd létre a következő sablont (ExplicitConversionB.xml), és mentsd abba a könyvtárba, ahol SampleSchema1.xml mentették.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> Contact[string(@ContactID)="4"] </sql:xpath-query> </ROOT>A leképezési sémához (SampleSchema1.xml) megadott könyvtári út viszonyítja azt a könyvtárat, ahol a sablon mentő. Abszolút út is meghatározható, például:
mapping-schema="C:\MyDir\SampleSchema1.xml"Hozd létre és használd az SQLXML 4.0 Test Scriptet (Sqlxml4test.vbs) a sablon végrehajtásához.
További információ: SqlXML 4.0-lekérdezések végrehajtása az ADO használatával.
Íme a sablon végrehajtásának eredményhalmaza:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Contact ContactID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." />
</ROOT>