XmlNode.BaseURI 属性

定义

获取当前节点的基 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 你这些节点来自何处。

此属性的值因节点类型而异。 例如,文档节点返回对象的位置 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
Attribute 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
元素 测试 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">  

如果从 http://localhost/mydata.xml中加载 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
Attribute http://localhost/mydata.xml

备注

默认属性的基 URI 与它们所属元素的基 URI 相同。

此属性是文档对象模型 (DOM) 的 Microsoft 扩展。

适用于