XPathクエリでの軸指定(MSSQLマニュアルより転載)

黄舟
リリース: 2017-03-01 16:48:38
オリジナル
1896 人が閲覧しました

次の例は、XPath クエリで軸を指定する方法を示しています。これらの例の XPath クエリは、SampleSchema1.xml に含まれるマッピング スキーマで指定されています。このサンプル スキーマの詳細については、「サンプル XPath クエリ」を参照してください。

A. コンテキスト ノードの子要素の取得
この XPath は、選択したコンテキスト ノードのすべての 子要素をクエリします:
/child::Employee
このクエリでは、child が軸で、Customer がノード テストです。 (Customer が ノードの場合、 は子軸に関連付けられたプライマリ ノード タイプであるため、テストは TRUE になります)。
child はデフォルトの軸です。したがって、クエリは次のように記述できます。
/Employee
マッピング スキーマで XPath クエリをテストする
次のテンプレート (MyTemplate.xml) を作成し、テンプレートの仮想名に関連付けられたディレクトリに保存します。

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> 
  <sql:xpath-query mapping-schema="SampleSchema2.xml"> 
    /Employee 
  </sql:xpath-query> 
</ROOT>
ログイン後にコピー

次の URL はテンプレートを実行します:

http://IISServer/VirtualRoot/template/MyTemplate.xml
ログイン後にコピー

XPath クエリは URL で直接指定できます:

http://IISServer/nwind/schema/SampleSchema1.xml/child::Customer?root=root
ログイン後にコピー

仮想名スキーマはスキーマ タイプです。スキーマ ファイルは、スキーマ タイプの仮想名に関連付けられたディレクトリに保存されます。 root パラメータは、結果の XML ドキュメントの最上位要素を指定します (root は任意の値です)。
以下は、テンプレート実行の部分的な結果セットです。

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">  
  <Employee EmployeeID="1" LastName="Davolio"  
            FirstName="Nancy" Title="Sales RePResentative" />  
  <Employee EmployeeID="2" LastName="Fuller"  
            FirstName="Andrew" Title="Vice President, Sales" />  
   ... 
</ROOT>
ログイン後にコピー

B. コンテキスト ノードの孫ノードを取得します。
この XPath は、選択されたコンテキスト ノードの 子要素のすべての 子要素をクエリします。 :
/child: :Customer/child::Order
このクエリでは、child が軸で、Customer と Order がノード テストです (Customer と Order が ノードの場合、 が存在するため、これらのノード テストは TRUE になります) ; ノードは軸の子メインノードです)。 に一致するノードごとに、 に一致するノードが結果に追加されます。 のみが結果セットで返されます。
child はデフォルトの軸です。したがって、このクエリは次のように指定できます:
/Customer/Order
マッピング スキーマで XPath クエリをテストする
次のテンプレート (MyTemplate.xml) を作成し、テンプレートの仮想名に関連付けられたディレクトリに保存します。

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> 
  <sql:xpath-query mapping-schema="SampleSchema1.xml"> 
    /Customer/Order 
  </sql:xpath-query> 
</ROOT>
ログイン後にコピー

上記はXPathクエリで軸を指定する内容です(MSSQLマニュアルより転載) その他の関連内容はPHP中国語サイト(www.php.cn)にご注目ください!


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!