XmlNode.BaseURI 屬性

定義

取得目前節點的基底 (Base) 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

屬性值

String

節點載入的位置;如果節點沒有基底 URI,則為 String.Empty。

備註

網路 XML 檔是由使用各種 W3C 標準包含機制匯總的資料區塊所組成,因此包含來自不同位置的節點。 會 BaseURI 告訴您這些節點的來源。

這個屬性的值會根據節點類型而有所不同。 例如,Document 節點會傳回物件的位置 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 會傳回下列內容:

NodeType 名稱 BaseURI
屬性 num http://server/mydata.xml
文件 #document http://server/mydata.xml
DocumentType item http://server/mydata.xml
單位 xyz http://server/mydata.xml
項目 item http://server/mydata.xml
EntityReference xyz http://server/mydata.xml
項目 test http://server/a/b.xml
Text #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.xml 載入, BaseURI 則會針對每個節點傳回下列專案:

NodeType 名稱 BaseURI
文件 #document http://localhost/mydata.xml
DocumentType Mydata http://localhost/mydata.xml

XmlDocumentType.SystemIdXmlDocumentType.PublicId 屬性可用來識別從中載入 DTD 檔案的位置。
項目 http://localhost/mydata.xml
單位 xyz http://localhost/doctype.dtd
EntityReference xyz http://localhost/mydata.xml
屬性 http://localhost/mydata.xml

注意

預設屬性的基底 URI 與其所屬專案的基底 URI 相同。

這個屬性是文件物件模型的 Microsoft 擴充功能。

適用於