Compartir vía


XmlNode.BaseURI Propiedad

Definición

Obtiene el identificador URI base del nodo actual.

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

Valor de propiedad

Ubicación desde la que se cargó el nodo o String.Empty si el nodo no tiene un identificador URI base.

Comentarios

Un documento XML en red se compone de fragmentos de datos agregados mediante diversos mecanismos de inclusión estándar W3C y, por lo tanto, contiene nodos que proceden de diferentes lugares. BaseURI indica de dónde proceden estos nodos.

El valor de esta propiedad varía en función del tipo de nodo. Por ejemplo, los nodos de documento devuelven la ubicación del XmlDocument objeto . Los nodos que son nodos secundarios de nodos entityReference externos devuelven la ubicación de la propia entidad. Por ejemplo, considere el siguiente documento XML:

<!DOCTYPE item [
<!ENTITY xyz SYSTEM "a/b.xml">
]>
<item num='123'>&xyz;</item>

donde la entidad a/b.xml externa contiene el texto XML: <test>123</test>.

Si el documento se carga desde http://server/mydata.xml, BaseURI devuelve lo siguiente:

NodeType Nombre Baseuri
Atributo num http://server/mydata.xml
Documento #document http://server/mydata.xml
DocumentType item http://server/mydata.xml
Entidad xyz http://server/mydata.xml
Elemento item http://server/mydata.xml
EntityReference xyz http://server/mydata.xml
Elemento test http://server/a/b.xml
Texto #text http://server/a/b.xml

BaseURI busca límites de referencia de entidad, por lo que si las entidades se expanden esta información no se conservan y esta propiedad devuelve la ubicación del XmlDocument objeto en todos los casos.

Como segundo ejemplo, dado el siguiente documento XML:

<!DOCTYPE Mydata SYSTEM "http://localhost/doctype.dtd">
<baa>&xyz;</baa>

donde el archivo DTD contiene lo siguiente:

<!ENTITY xyz <E1>My Data</E1>
<!ELEMENT baa #PCDATA>
<!ATTLIST baa attr1 "woof">

Si el documento XML se carga desde http://localhost/mydata.xml, BaseURI devuelve lo siguiente para cada uno de los nodos:

NodeType Nombre Baseuri
Documento #document http://localhost/mydata.xml
DocumentType Mydata http://localhost/mydata.xml

Las XmlDocumentType.SystemId propiedades o XmlDocumentType.PublicId se pueden usar para identificar dónde se cargó el archivo DTD.
Elemento Baa http://localhost/mydata.xml
Entidad xyz http://localhost/doctype.dtd
EntityReference xyz http://localhost/mydata.xml
Atributo Trama http://localhost/mydata.xml

Nota

El URI base de un atributo predeterminado es el mismo que el URI base del elemento al que pertenecen.

Esta propiedad es una extensión de Microsoft para Document Object Model (DOM).

Se aplica a