Windchill 基礎原理 > Windchill 搜尋 > 搜尋參考 > XML 文件搜尋
  
XML 文件搜尋
* 
以下主題僅在 wt.index.enableXMLTagSearch 內容設定為 true 時適用。依預設,此內容會設定為 false
如果您已安裝並啟用 Windchill Index Search,依預設會索引 XML 檔案。您可以使用標準關鍵字搜尋,針對 XML 內容 (XML 標籤間的值) 搜尋 XML 文件。
但是,如果 wt.index.enableXMLTagSearch 內容被設定為 trueWindchill 便會索引 XML 內容、標籤和屬性。因此,XML 文件中的所有標籤名稱與內容皆可使用「關鍵字」欄位索引及搜尋。
例如,您上載包含下列項目的 XML 文件:
<title>零件型錄</title>
「型錄」或「標題」的關鍵字搜尋都會傳回 XML 文件。
欲將關鍵字搜尋限制於 XML 文件,您可以輸入 xml:,後面加上專門的查詢字串。
* 
XML 搜尋只能以英文執行。執行 XML 範圍索引時不會處理語言。
存在無效 XML 時,Windchill 無法索引 XML 文件的內容。在這些情況下,XML 文件只能按其「名稱」「編號」屬性搜尋。
執行專門的 xml: 搜尋時,適用關鍵字規則。例如,允許使用萬用字元,並會使用相關字詞功能。如需詳細資訊,請參閱關鍵字搜尋規則
執行專門的 xml: 搜尋時,您的「搜尋模式」偏好設定必須設為「簡單」wt.index.enableXMLTagSearch 內容必須設為 true
XML 標籤搜尋
您可以使用下列格式,針對標籤名稱與標籤內容進行搜尋:
xml:tag
xml:tag(content)
您也可以組合這些字串來搜尋 XML 階層的多個層級。依階層搜尋時,適用下列規則:
您可以搜尋任何深度的層級。
使用冒號字元 (":") 分隔階層層級
xml:tag(content):tag(content)
(content) 內的字串由 OR 運算子連接。
您不需要為階層中的每一層級指定標籤。
即使階層內有中間標籤,您也可以搜尋內容。
只要內容嵌套於標籤內,您可以從階層內的任意位置包括字串。
您必須遵循階層式結構。
例如,您上載下列 XML 檔案:
您可以使用下列任意關鍵字搜尋来傳回檔案:
xml:catalog
xml:cat*
xml:page
xml:spring(gloves)
xml:spring(outdoor):page(soil gloves)
xml:catalog:spring
xml:catalog:spring:title(sales)
xml:catalog(garden tools soil winter)
catalog garden tools soil winter
但是,下列搜尋失敗:
關鍵字
失敗的原因
xml:garden
您無法單獨按內容搜尋。內容必須位於括號中,並跟在標籤名稱之後。
如果您不想在您的搜尋中包括標籤,請移除 xml: 修飾符並執行基本關鍵字搜尋。
因應措施:
xml:spring(garden) xml:spring:title(garden) garden
xml:catalog(garden)item(gloves)
您必須在階層式層級之間使用冒號。
因應措施:
xml:catalog(garden):item(gloves)
xml:caption(winter):catalog(sales)
xml:caption(sales)
階層式搜尋必須以較高層級開始,並後跟巢狀層級。您無法以巢狀標籤開始,並後跟較高層級的標籤。
CAPTION 標籤嵌套於 CATALOG 之內。
"Sales" 是高於 CAPTION 的標籤階層。
<CATALOG>
<SPRING>
<TITLE>Garden Sales</TITLE>
<PAGE>
<CAPTION>Goodbye, Winter!</ITEM>
因應措施:
xml:catalog(sales):caption(winter) xml:catalog(sales winter) xml:catalog(sales winter):caption xml:catalog:caption(winter)
xml:title(potting soil)
如果您將標籤名稱與並不直接在標籤內的內容配對,內容必須嵌套在指定標籤之內。
在範例 XML 中,"potting soil" 是巢狀 ITEM 標籤的內容。TITLE 標籤位於階層中的較高層級。但是,TITLE 不是 ITEM 之標籤階層的一部份。
ITEM 標籤階層為 CATALOG > SPRING > PAGE > ITEM:
<CATALOG>
<SPRING>
<TITLE>Garden Sales</TITLE>
<PAGE>
<ITEM>Potting Soil</ITEM>
因應措施:
xml:page(potting soil) xml:catalog(potting soil) xml:catalog:page(potting soil) xml:catalog:spring:page:item(potting soil)
xml:caption(winter):item(soil)
您無法搜尋位於相同階層層級上的兩個標籤:
<PAGE>
<CAPTION>Goodbye, Winter!</CAPTION>
<ITEM>Potting Soil</ITEM>
因應措施:
xml:page(winter):item(soil) xml:page(winter soil) xml:caption(winter) xml:item(soil)
XML 屬性搜尋
您可以使用下列格式,針對屬性名稱與屬性值進行搜尋:
xml:@attribute
xml:@attribute(value)
* 
您無法組合不同的屬性名稱與值。值必須屬於屬性。
您也可以組合這些字串來搜尋 XML 階層的多個層級。依階層搜尋時,適用下列規則:
您可以搜尋任何深度的層級。
使用冒號字元 (":") 分隔階層層級
xml:@attribute(value):@attribute(value)
(value) 內的字串由 OR 運算子連接。
您不需要為階層中的每一層級指定屬性。
您必須遵循階層式結構。
例如,您上載下列 XML 檔案:
您可以使用下列任意關鍵字搜尋来傳回檔案:
xml:@month
xml:@month(ma*)
xml:@color(pink)
xml:@number:@color
xml:@status(released):@number:@id(98821c56)
march color pink 98821c56
但是,下列搜尋會失敗:
xml:pink
您無法單獨按值搜尋。值必須位於括號中,並跟在屬性之後。
如果您不想在您的搜尋中包括屬性,請移除 xml: 修飾符並執行基本關鍵字搜尋。
因應措施:
xml:@color(pink) xml:@month:@color(pink) pink
xml:@month(march april)@color(pink)
您必須在階層式層級之間使用冒號。
因應措施:
xml:@month(march april):@color(pink)
xml:@status(98821c56)
與標籤和內容配對不同,您無法搜尋巢狀值。
換句話說,您無法混合及匹配具有巢狀屬性值的屬性名稱。
<CATALOG status="Released">
<SPRING month="March, April, May">
<PAGE number="12">
<ITEM id="98821c56">Potting Soil</ITEM>
因應措施:
xml:@status:@id(98821c56) xml:@id(98821c56)
xml:@number(12):@status(released)
階層式搜尋必須以較高層級開始,並後跟巢狀層級。您無法以巢狀屬性開始,然後在階層中搜尋更高的屬性或值。
<CATALOG status="Released">
<SPRING month="March, April, May">
<PAGE number="12">
因應措施:
xml:@status(released):@number(12) xml:@status(released):@number xml:@status:@number(12)
xml:@alias(garden):@number(12)
您無法搜尋位於相同階層層級上的不同標籤內的兩個屬性:
<CATALOG status="Released">
<SPRING month="March, April, May">
<TITLE alias="Spring Garden Catalog">Garden Sales</TITLE>
<LINE>Outdoor_Tools</LINE>
<PAGE number="12">
因應措施:
xml:@alias(garden) xml:@number(12)
組合的標籤與屬性搜尋
您可以組合上述搜尋以按 XML 標籤、內容、屬性與屬性值進行搜尋。
您可以使用下列任一格式:
xml:tag(content)@attribute(value)
xml:tag@attribute
xml:tag(content)@attribute
xml:tag@attribute(value)
您可以使用冒號字元 (:) 來橫移 XML 階層。階層式搜尋必須遵循以上概述的相同規則。
例如,您上載下列 XML 檔案:
您可以使用下列任意關鍵字搜尋来傳回檔案:
xml:spring@month(april)
xml:catalog(garden soil gloves)@status(released)
xml:page@number(12):item@id(98821c56)
xml:catalog:@month(april):caption(goodbye)
xml:catalog(gloves soil):page@number(12):caption(goodbye)
xml:spring(garden tools):@alias
catalog march spring pink 98821c56
但是,下列搜尋會失敗:
xml:item(pink)
您無法配對標籤名稱與屬性值。
因應措施:
xml:item@color(pink) item pink
xml:@id(potting soil)
您無法配對屬性名稱與標籤內容。
因應措施:
xml:item(potting soil)@id id potting soil
xml:spring@color(pink)
您無法配對標籤名稱與在不同標籤上指定的屬性。
因應措施:
xml:item@color(pink) xml:spring:@color(pink)
xml:spring:@status(released)
階層式搜尋必須以較高層級開始,並後跟巢狀層級。您無法以巢狀屬性或標籤開始,然後在階層中指定更高的元素。
因應措施:
xml:@status(released):spring