XmlNode.BaseURI 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得目前節點的基底 (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
屬性值
節點載入的位置;如果節點沒有基底 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.SystemId或 XmlDocumentType.PublicId 屬性可用來識別從中載入 DTD 檔案的位置。 |
項目 | 咩 | http://localhost/mydata.xml |
單位 | xyz | http://localhost/doctype.dtd |
EntityReference | xyz | http://localhost/mydata.xml |
屬性 | 汪 | http://localhost/mydata.xml |
注意
預設屬性的基底 URI 與其所屬專案的基底 URI 相同。
這個屬性是文件物件模型的 Microsoft 擴充功能。