資料庫設定精靈選項 |
「資料庫設定精靈」提供各種功能和選項,您在將 XML 轉換成資料庫時可定義如何解譯此 XML。此精靈包括以下頁面。
選取 XML 檔案後,在您已連線檔案 (位於「內容」索引標籤) 和所產生資料庫表格 (位於「欄位」索引標籤) 的「檔案預覽」區域中會看到預覽。
您可透過此頁面提供外部結構描述檔案,或指定精靈應該從您提供的 XML 檔案推斷出結構描述。
如果 XML 包含無法存取或無效的內部結構描述引用,您就會收到錯誤訊息。您必須先解決所有結構描述問題,才可繼續進行。
以下選項可供使用:
從 XML 檔案自動偵測結構描述: 指定精靈從您提供的 XML 檔案推斷出結構描述。若無單獨的結構描述檔案,請使用此選項。
|
若使用自動結構描述偵測,則欄位的資料類型一律預設為「文字」。您可以變更「資料庫設定」對話方塊「欄位」屬性頁面中的資料類型。 |
指定結構描述或文件類型定義檔案: 提供上傳外部結構描述檔案的選項。按一下「新增」以瀏覽檔案。
在「選取單一類型的所有元素」區域中,選取要作為主元素的元素。此元素是構成資料庫記錄的基礎。
選取主元素後,所產生資料庫表格的預覽會顯示於「欄位」索引標籤。為所選的 XML 檔案主元素的每個執行個體建立一筆資料庫記錄 (表格中的一列)。
在此頁面上,您只能選取一個主元素。若要選取多個主元素或根據其他條件只選取某些元素,請按一下以選取「使用進階條件或 XPath 運算式選取元素」核取方塊,然後按一下「下一步」以開啟「進階記錄元素選取」頁面。
此頁面提供用於選取主元素的進階選項。以下選項可供使用:
選取下列類型的所有元素: 指定將所選類型的所有元素都視為主元素。
選取下列類型的所有節點: 對於「從屬於」清單所選元素底下發生的所選類型,指定將其所有節點 (元素) 都視為主元素。
透過自訂 XPath 選取記錄節點: 指定您要使用的自訂 XPath 運算式。了解 XPath 查詢語言的進階使用者可以將其用於從 XML 文件中選取節點並計算來自 XML 文件內容的值。
如以下範例所示,若選取單一元素作為主元素或選取同一類型的所有元素作為主元素,就會得到不同的資料庫結果。
假設您正在使用以下 XML 檔案。
您選取 "Angela Franklin" 的 <Name> 節點作為主元素。因為父節點 <Employees> 的 <Name> 元素有兩個執行個體,所以資料庫會包括兩筆記錄,請參閱以下內容:
假設您正在使用以下 XML 檔案。
在「進階記錄元素選取」頁面上,執行以下其中一項動作:
按一下以選取「選取下列類型的所有元素」,然後在清單中選取「Name」。
按一下以選取「選取下列類型的所有節點」並選取清單中的「Name」,然後從「從屬於」清單中選取「Company」或「Manager」。
產生的資料庫會擷取 <Name> 元素的所有執行個體並產生三條記錄,如下所示:
在選取一或多個主元素後,您可以使用此頁面選取要向資料庫提供欄位資料的元素和屬性,並指定要如何處理重複元素。
「可用的節點」區域會顯示您可選取用於提供欄位資料的元素和屬性。這些可以包括父元素和子元素及其屬性。按一下以選取所需節點的核取方塊。
對於重複節點,可用選項取決於資料類型 (字串、數字、日期、布林值等等) 並包括以下內容。
|
如果您未提供結構描述檔案,精靈就會允許 XML 的元素重複,即使這些元素在範例 XML 檔案並未重複也是如此。因此,儘管這些節點其實並未重複,這些選項可能仍然可用。 |
使用第一個:指定欄位值將從此元素的第一個執行個體中擷取。
使用最後一個:指定欄位值將從此元素的最後一個執行個體中擷取。
連結:指定欄位值是此元素所有執行個體的連結,並以指定的分隔字元隔開。在「分隔字元」欄位中,輸入要使用的分隔字元,然後按一下「套用」。
總和: 指定欄位值是重複節點的值的總和。
平均:指定欄位值是重複節點的值的平均值。
最小值:指定欄位值是重複節點中出現的最小值。
最大值:指定欄位值是重複節點中出現的最大值。
多欄位:指定此元素可代表多個欄位值。屬性節點的內容會決定哪個值用於哪個欄位。僅適用於包含屬性的元素。
假設您正在使用以下 XML 檔案。
選取 <owl> 作為主元素。重複元素 <property> 的預設設定為「連結」,將產生以下資料庫表格。
但是,您想要根據其 typeid 屬性,將重複元素 <property> 的每個變數都視為資料的唯一欄位 (欄)。選取「多欄位」選項後,就會產生以下資料庫。
使用上一個:指定欄位值將從與主元素相應的元素或屬性的上一個執行個體擷取。僅適用於與主元素相應的元素和屬性;不適用於主元素的子系節點。
假設您正在使用以下 XML 檔案。
選取 <FirstName> 作為主元素。重複元素 <LastName> 的預設設定為「連結」,將產生以下資料庫表格。
但是,您想要 LastName 的欄位值使用重複元素 <LastName> 的上一個執行個體來填入資料庫,而不是所有 <LastName> 元素的所有值。選取「使用上一個」選項後,就會產生以下資料庫。
使用下一個:指定欄位值將從與主元素相應的元素或屬性的下一個執行個體中擷取。僅適用於與主元素相應的元素和屬性;不適用於主元素的子系節點。
假設您正在使用以下 XML 檔案。
選取 <FirstName> 作為主元素。重複元素 <LastName> 的預設設定為「連結」,將產生以下資料庫表格。
但是,您想要 LastName 的欄位值使用重複元素 <LastName> 的下一個執行個體來填入資料庫,而不是所有 <LastName> 元素的所有值。選取「使用下一個」選項後,就會產生以下資料庫。