XmlNode.BaseURI 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得目前節點的基礎 URI。
public:
virtual property System::String ^ BaseURI { System::String ^ get(); };
public virtual string BaseURI { get; }
member this.BaseURI : string
Public Overridable ReadOnly Property BaseURI As String
屬性值
節點載入的位置,或若節點沒有基礎 URI,則為 String.Empty。
備註
網路化的 XML 文件由各種 W3C 標準納入機制彙整的資料區塊組成,因此包含來自不同來源的節點。 它 BaseURI 告訴你這些節點的來源。
此性質的值會依節點類型而異。 例如,文件節點會回傳物件的位置 XmlDocument 。 外部 EntityReference 節點的子節點會回傳該實體本身的位置。 例如,請考慮以下 XML 文件:
<!DOCTYPE item [
<!ENTITY xyz SYSTEM "a/b.xml">
]>
<item num='123'>&xyz;</item>
其中外部實體 a/b.xml 包含 XML 文字: <test>123</test>。
若文件載入自 http://server/mydata.xml, BaseURI 則回傳以下內容:
| 節點類型 | 名稱 | BaseURI |
|---|---|---|
| Attribute | 數字 | http://server/mydata.xml |
| 文件 | #document | http://server/mydata.xml |
| 文件類型 | 項目 | http://server/mydata.xml |
| 實體 | xyz | http://server/mydata.xml |
| 元素 | 項目 | http://server/mydata.xml |
| EntityReference | xyz | http://server/mydata.xml |
| 元素 | 測試 | http://server/a/b.xml |
| 文字 | #text | http://server/a/b.xml |
BaseURI 尋找實體參考邊界,因此若展開實體,此資訊不會被保留,且此屬性在所有情況下回傳物件位置 XmlDocument 。
第二個例子,給定以下 XML 文件:
<!DOCTYPE Mydata SYSTEM "http://localhost/doctype.dtd">
<baa>&xyz;</baa>
其中 DTD 檔案包含以下內容:
<!ENTITY xyz <E1>My Data</E1>
<!ELEMENT baa #PCDATA>
<!ATTLIST baa attr1 "woof">
若 XML 文件從 http://localhost/mydata.xmlBaseURI 載入,則會對每個節點回傳以下內容:
| 節點類型 | 名稱 | BaseURI |
|---|---|---|
| 文件 | #document | http://localhost/mydata.xml |
| 文件類型 | 我的資料 | http://localhost/mydata.xmlXmlDocumentType.SystemId OR XmlDocumentType.PublicId 屬性可用來辨識 DTD 檔案的載入來源。 |
| 元素 | 咩 | http://localhost/mydata.xml |
| 實體 | xyz | http://localhost/doctype.dtd |
| EntityReference | xyz | http://localhost/mydata.xml |
| Attribute | 汪 | http://localhost/mydata.xml |
備註
預設屬性的基礎 URI 與其所屬元素的基礎 URI 相同。
此屬性是 Microsoft 對文件物件模型(DOM)的擴充。