XmlNode.BaseURI Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the base URI of the current node.
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
Property Value
The location from which the node was loaded or String.Empty if the node has no base URI.
Remarks
A networked XML document is comprised of chunks of data aggregated using various W3C standard inclusion mechanisms and therefore contains nodes that come from different places. The BaseURI
tells you where these nodes came from.
The value of this property varies depending on the node type. For example, Document nodes return the location of the XmlDocument object. Nodes which are child nodes of external EntityReference nodes return the location of the entity itself. For example, consider the following XML document:
<!DOCTYPE item [
<!ENTITY xyz SYSTEM "a/b.xml">
]>
<item num='123'>&xyz;</item>
where the external entity a/b.xml
contains the XML text: <test>123</test>
.
If the document is loaded from http://server/mydata.xml
, BaseURI
returns the following:
NodeType | Name | BaseURI |
---|---|---|
Attribute | num | http://server/mydata.xml |
Document | #document | http://server/mydata.xml |
DocumentType | item | http://server/mydata.xml |
Entity | xyz | http://server/mydata.xml |
Element | item | http://server/mydata.xml |
EntityReference | xyz | http://server/mydata.xml |
Element | test | http://server/a/b.xml |
Text | #text | http://server/a/b.xml |
BaseURI
looks for entity reference boundaries, so if entities are expanded this information is not preserved and this property returns the location of the XmlDocument
object in all cases.
As a second example, given the following XML document:
<!DOCTYPE Mydata SYSTEM "http://localhost/doctype.dtd">
<baa>&xyz;</baa>
where the DTD file contains the following:
<!ENTITY xyz <E1>My Data</E1>
<!ELEMENT baa #PCDATA>
<!ATTLIST baa attr1 "woof">
If the XML document is loaded from http://localhost/mydata.xml
, BaseURI
returns the following for each of the nodes:
NodeType | Name | BaseURI |
---|---|---|
Document | #document | http://localhost/mydata.xml |
DocumentType | Mydata | http://localhost/mydata.xml The XmlDocumentType.SystemId or XmlDocumentType.PublicId properties can be used to identify where the DTD file was loaded from. |
Element | baa | http://localhost/mydata.xml |
Entity | xyz | http://localhost/doctype.dtd |
EntityReference | xyz | http://localhost/mydata.xml |
Attribute | woof | http://localhost/mydata.xml |
Note
The base URI of a default attribute is the same as the base URI of the element to which they belong.
This property is a Microsoft extension to the Document Object Model (DOM).
Applies to
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기