Condividi tramite


XmlNode.BaseURI Proprietà

Definizione

Ottiene l'URI di base del nodo corrente.

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

Valore della proprietà

Percorso da cui è stato caricato il nodo o String.Empty se il nodo non dispone di un URI di base.

Commenti

Un documento XML in rete è costituito da blocchi di dati aggregati usando vari meccanismi di inclusione standard W3C e quindi contiene nodi provenienti da posizioni diverse. Indica BaseURI da dove provengono questi nodi.

Il valore di questa proprietà varia a seconda del tipo di nodo. Ad esempio, i nodi document restituiscono la posizione dell'oggetto XmlDocument . I nodi che sono nodi figlio dei nodi EntityReference esterni restituiscono la posizione dell'entità stessa. Si consideri ad esempio il documento XML seguente:

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

dove l'entità a/b.xml esterna contiene il testo XML: <test>123</test>.

Se il documento viene caricato da http://server/mydata.xml, BaseURI restituisce quanto segue:

Tipo di nodo Nome Baseuri
Attributo num http://server/mydata.xml
Documento #document http://server/mydata.xml
DocumentType item http://server/mydata.xml
Entità xyz http://server/mydata.xml
Elemento item http://server/mydata.xml
EntityReference xyz http://server/mydata.xml
Elemento test http://server/a/b.xml
Testo #text http://server/a/b.xml

BaseURI cerca limiti di riferimento alle entità, quindi se le entità vengono espanse queste informazioni non vengono mantenute e questa proprietà restituisce la posizione dell'oggetto XmlDocument in tutti i casi.

Come secondo esempio, dato il documento XML seguente:

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

dove il file DTD contiene quanto segue:

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

Se il documento XML viene caricato da http://localhost/mydata.xml, BaseURI restituisce quanto segue per ognuno dei nodi:

Tipo di nodo Nome Baseuri
Documento #document http://localhost/mydata.xml
DocumentType Mydata http://localhost/mydata.xml

Le XmlDocumentType.SystemId proprietà o XmlDocumentType.PublicId possono essere usate per identificare da dove è stato caricato il file DTD.
Elemento Baa http://localhost/mydata.xml
Entità xyz http://localhost/doctype.dtd
EntityReference xyz http://localhost/mydata.xml
Attributo trama http://localhost/mydata.xml

Nota

L'URI di base di un attributo predefinito è lo stesso dell'URI di base dell'elemento a cui appartengono.

Questa proprietà è un'estensione Microsoft di Document Object Model (DOM).

Si applica a