Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt den XmlResolver fest, der zur Auflösung externer DTD (Dokumenttypdefinitionen)- und Schema-Positionsverweise verwendet wird. XmlResolver wird auch zum Behandeln von Import- oder Include-Elementen in XSD-Schemas (XML Schema Definition) verwendet.
Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)
Syntax
'Declaration
Public WriteOnly Property XmlResolver As XmlResolver
'Usage
Dim instance As XmlValidatingReader
Dim value As XmlResolver
instance.XmlResolver = value
public XmlResolver XmlResolver { set; }
public:
property XmlResolver^ XmlResolver {
void set (XmlResolver^ value);
}
/** @property */
public void set_XmlResolver (XmlResolver value)
public function set XmlResolver (value : XmlResolver)
Eigenschaftenwert
Der zu verwendende XmlResolver. Wenn er auf NULL (Nothing in Visual Basic) festgelegt ist, werden externe Ressourcen nicht aufgelöst. In Version 1.1 von .NET Framework muss der Aufrufen voll vertrauenswürdig sein, um einen XmlResolver anzugeben.
Hinweise
Hinweis
Die XmlValidatingReader-Klasse ist in Microsoft .NET Framework, Version 2.0 veraltet. Sie können eine Instanz eines validierenden XmlReader mithilfe der XmlReaderSettings-Klasse und der Create-Methode erstellen. Weitere Informationen finden Sie unter Validieren von XML-Daten mit "XmlReader".
Der XmlResolver wird zum Laden sämtlicher DTDs, Entitäten oder Schemas verwendet, die für den Abschluss der Validierung erforderlich sind.
Diese Eigenschaft kann jederzeit festgelegt werden und tritt nach dem nächsten Aufruf von Read in Kraft. Wenn diese Eigenschaft auf NULL (Nothing in Visual Basic) festgelegt ist, geht der Reader davon aus, dass der Benutzer externe Verweise nicht auflösen möchte. In diesem Fall überprüft der Reader lediglich interne Ressourcen, sofern die jeweilige Ressource vorhanden ist.
In Version 1.1 von .NET Framework bestimmt die Vertrauensebene der Anwendung das Standardverhalten, wenn diese Eigenschaft nicht festgelegt wurde.
Fully trusted code: Der Reader verwendet einen Standard-XmlUrlResolver ohne Benutzeranmeldeinformationen. Wenn für den Zugriff auf eine Netzwerkressource eine Authentifizierung notwendig ist, können Sie in der XmlResolver-Eigenschaft einen XmlResolver mit den notwendigen Anmeldeinformationen angeben.
Semi-trusted code: Die XmlResolver-Eigenschaft ist auf NULL (Nothing in Visual Basic) festgelegt. Externe Ressourcen werden nicht aufgelöst.
Bei der Validierung mithilfe von Schemas können Sie den aufwändigen Ladevorgang vermeiden, indem Sie mit der Schemas-Eigenschaft eine XmlSchemaCollection angeben.
Beispiel
Im folgenden Beispiel werden die für den Zugriff auf die Netzwerk-DTD-Datei erforderlichen Anmeldeinformationen mit der XmlResolver-Eigenschaft angegeben.
' Create the reader.
Dim txtreader as XmlTextReader = new XmlTextReader("book5.xml")
Dim reader as XmlValidatingReader = new XmlValidatingReader(txtreader)
txtreader.WhitespaceHandling = WhitespaceHandling.None
' Set the credentials necessary to access the DTD file stored on the network.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials
reader.XmlResolver = resolver
' Display each of the element nodes.
while (reader.Read())
select case reader.NodeType
case XmlNodeType.Element:
Console.Write("<{0}>", reader.Name)
case XmlNodeType.Text:
Console.Write(reader.Value)
case XmlNodeType.DocumentType:
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value)
case XmlNodeType.EntityReference:
Console.Write(reader.Name)
case XmlNodeType.EndElement:
Console.Write("</{0}>", reader.Name)
end select
end while
// Create the reader.
XmlTextReader txtreader = new XmlTextReader("book5.xml");
XmlValidatingReader reader = new XmlValidatingReader(txtreader);
txtreader.WhitespaceHandling = WhitespaceHandling.None;
// Set the credentials necessary to access the DTD file stored on the network.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
reader.XmlResolver = resolver;
// Display each of the element nodes.
while (reader.Read()){
switch (reader.NodeType){
case XmlNodeType.Element:
Console.Write("<{0}>", reader.Name);
break;
case XmlNodeType.Text:
Console.Write(reader.Value);
break;
case XmlNodeType.DocumentType:
Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
break;
case XmlNodeType.EntityReference:
Console.Write(reader.Name);
break;
case XmlNodeType.EndElement:
Console.Write("</{0}>", reader.Name);
break;
}
}
// Create the reader. ->
XmlTextReader^ txtreader = gcnew XmlTextReader( "book5.xml" );
XmlValidatingReader^ reader = gcnew XmlValidatingReader( txtreader );
txtreader->WhitespaceHandling = WhitespaceHandling::None;
// Set the credentials necessary to access the DTD file stored on the network.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
resolver->Credentials = System::Net::CredentialCache::DefaultCredentials;
reader->XmlResolver = resolver;
// Display each of the element nodes.
while ( reader->Read() )
{
switch ( reader->NodeType )
{
case XmlNodeType::Element:
Console::Write( "< {0}>", reader->Name );
break;
case XmlNodeType::Text:
Console::Write( reader->Value );
break;
case XmlNodeType::DocumentType:
Console::Write( "<!DOCTYPE {0} [ {1}]", reader->Name, reader->Value );
break;
case XmlNodeType::EntityReference:
Console::Write( reader->Name );
break;
case XmlNodeType::EndElement:
Console::Write( "</ {0}>", reader->Name );
break;
}
}
// Close the reader.
reader->Close();
}
Im Beispiel werden die folgenden Dateien als Eingabe verwendet.
book5.xml
<!DOCTYPE book SYSTEM 'http://myServer/DTDs/books.dtd'>
<book ISBN = '1-861001-57-5'>
<title>Pride And Prejudice</title>
<price>19.95</price>
<misc>&h;</misc>
</book>
books.dtd
<!ELEMENT book (title,price,misc)>
<!ATTLIST book
genre CDATA "novel"
ISBN CDATA #REQUIRED>
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT misc (#PCDATA)>
<!ENTITY h "hardcover">
<!ENTITY p "paperback">
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
XmlValidatingReader-Klasse
XmlValidatingReader-Member
System.Xml-Namespace
XmlUrlResolver.Credentials-Eigenschaft
CredentialCache
NetworkCredential
XmlSecureResolver-Klasse