• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • SQl 2005 For XMl 簡單查詢(Raw,Auto,Path模式)(2)(2)

    發表于:2012-02-15來源:博客園作者:Perky Su點擊數: 標簽:sql
    下圖說明了該過程。 請注意,要理解 OPENXML,需要熟悉 XPath 查詢并理解 XML。有關 SQL Server 中 XPath 支持的詳細信息,請參閱Using XPath Queries in SQLXML 4.0。 O

      下圖說明了該過程。

      請注意,要理解 OPENXML,需要熟悉 XPath 查詢并理解 XML。有關 SQL Server 中 XPath 支持的詳細信息,請參閱Using XPath Queries in SQLXML 4.0。

      OPENXML 允許將行和列的 XPath 模式參數化為變量。如果程序員向外部用戶公開參數化(例如通過外部調用的存儲過程提供參數),這種參數化可能會導致引入 XPath 表達式。為了避免這種潛在的安全問題,建議切勿向外部調用方公開 XPath 參數。

    OPENXML 參數

      OPENXML 的參數包括:

      XML 文檔句柄 (idoc)

      標識要映射到行的節點的 XPath 表達式 (rowpattern)

      對要生成的行集的說明

      行集列和 XML 節點之間的映射

      XML 文檔句柄 (idoc)

      sp_xml_preparedocument 存儲過程返回該文檔句柄。

      標識要處理的節點的 XPath 表達式 (rowpattern)

      指定為 rowpattern 的 XPath 表達式標識 XML 文檔中的一組節點。rowpattern 標識的每個節點對應于 OPENXML 所生成的行集中的一行。

      XPath 表達式標識的節點可以是 XML 文檔中的任何 XML 節點。如果 rowpattern 標識 XML 文檔中的一組元素,則所標識的每個元素節點在行集中都占一行。例如,如果 rowpattern 以屬性結束,則將為 rowpattern 選擇的每個屬性節點創建一行。

      對要生成的行集的說明

      OPENXML 使用行集架構來生成結果行集。指定行集架構時,可以使用下列選項。

      使用邊緣表格式

      應使用邊緣表格式來指定行集架構。請勿使用 WITH 子句。

      否則,OPENXML 將以邊緣表格式返回行集。邊緣表這種稱謂源于已分析的 XML 文檔樹中的每個邊緣都映射到行集中的一行。

      邊緣表在單個表中表示 XML 文檔的細密結構。此結構包括元素名稱和屬性名稱、文檔層次結構、命名空間和處理指令。通過邊緣表格式可以獲得無法通過元屬性表現的其他信息。有關元屬性的詳細信息,請參閱“在 OPENXML 中指定元屬性”(29bfd1c6-3f9a-43c4-924a-53d438e442f4)。

      通過邊緣表提供的其他信息可以存儲和查詢元素和屬性的數據類型以及節點類型,另外還可以存儲和查詢有關 XML 文檔結構的信息。有了這些其他信息,還可以創建您自己的 XML 文檔管理系統。

      通過使用邊緣表,可以編寫這樣一些存儲過程:將 XML 文檔作為二進制大型對象 (BLOB) 輸入,生成邊緣表,然后以更為詳細的級別提取和分析文檔。此詳細級別可以包括查找文檔層次結構、元素名稱和屬性名稱、命名空間和處理指令。

      當映射到其他關系格式不合邏輯且 ntext 字段沒有提供足夠的結構信息時,邊緣表還可以用作 XML 文檔的存儲格式。

      在可以使用 XML 分析器檢查 XML 文檔的情況下,使用邊緣表也可以獲得相同的信息。

      下表介紹了邊緣表的結構。

    列名 數據類型 說明

    id

    bigint

    是文檔節點的唯一 ID。

    根元素的 ID 值為 0。保留負 ID 值。

    parentid

    bigint

    標識節點的父節點。此 ID 標識的父節點不一定是父元素。具體情況取決于此 ID 所標識節點的子節點的節點類型。例如,如果節點為文本節點,則其父節點可能是一個屬性節點。

    如果節點位于 XML 文檔的頂層,則其 ParentID 為 NULL。

    節點類型

    int

    標識節點類型,是對應于 XML 對象模型 (DOM) 節點類型編號的一個整數。

    下列值是可以顯示在此列中以指明節點類型的值:

    1 = 元素節點

    2 = 屬性節點

    3 = 文本節點

    4 = CDATA 部分節點

    5 = 實體引用節點

    6 = 實體節點

    7 = 處理指令節點

    8 = 注釋節點

    9 = 文檔節點

    10 = 文檔類型節點

    11 = 文檔片段節點

    12 = 表示法節點

    有關詳細信息,請參閱 Microsoft XML (MSXML) SDK 中的“節點類型屬性”主題。

    localname

    nvarchar(max)

    提供元素或屬性的本地名稱。如果 DOM 對象沒有名稱則為 NULL。

    prefix

    nvarchar(max)

    是節點名稱的命名空間前綴。

    namespaceuri

    nvarchar(max)

    是節點的命名空間 URI。如果值是 NULL,則命名空間不存在。

    datatype

    nvarchar(max)

    是元素或屬性行的實際數據類型,否則是 NULL。數據類型是從內聯 DTD 中或從內聯架構中推斷得出。

    prev

    bigint

    是前一個同級元素的 XML ID。如果前面沒有同級元素則為 NULL。

    text

    ntext

    包含文本形式的屬性值或元素內容。如果邊緣表項不需要值則為 NULL。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>