XmlDocument.XmlResolver Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger vilken XmlResolver som ska användas för att matcha externa resurser.
public:
virtual property System::Xml::XmlResolver ^ XmlResolver { void set(System::Xml::XmlResolver ^ value); };
public virtual System.Xml.XmlResolver? XmlResolver { set; }
public virtual System.Xml.XmlResolver XmlResolver { set; }
member this.XmlResolver : System.Xml.XmlResolver
Public Overridable Property XmlResolver As XmlResolver
Egenskapsvärde
Att XmlResolver använda.
I version 1.1 av.NET Framework måste anroparen vara helt betrodd för att kunna ange en XmlResolver.
Undantag
Den här egenskapen är inställd på null och en extern DTD eller en entitet påträffas.
Exempel
I följande exempel läses ett XML-dokument in som innehåller en referens till en DTD-fil. Egenskapen XmlResolver används för att ange de autentiseringsuppgifter som krävs för att komma åt nätverksresursen.
using System;
using System.IO;
using System.Xml;
using System.Net;
public class Sample {
public static void Main() {
// Supply the credentials necessary to access the DTD file stored on the network.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = CredentialCache.DefaultCredentials;
// Create and load the XmlDocument.
XmlDocument doc = new XmlDocument();
doc.XmlResolver = resolver; // Set the resolver.
doc.Load("book5.xml");
// Display the entity replacement text which is pulled from the DTD file.
Console.WriteLine(doc.DocumentElement.LastChild.InnerText);
}
} // End class
Imports System.IO
Imports System.Xml
Imports System.Net
public class Sample
public shared sub Main()
' Supply the credentials necessary access the DTD file stored on the network.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = CredentialCache.DefaultCredentials
' Create and load the XmlDocument.
Dim doc as XmlDocument = new XmlDocument()
doc.XmlResolver = resolver ' Set the resolver.
doc.Load("book5.xml")
' Display the entity replacement text which is pulled from the DTD file.
Console.WriteLine(doc.DocumentElement.LastChild.InnerText)
end sub
end class
I exemplet används följande datafiler som indata.
book5.xml
<!DOCTYPE book SYSTEM 'http://myServer/data/books.dtd'>
<book ISBN = '1-861001-57-5'>
<title>Oberon's Legacy</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">
Kommentarer
XmlResolver Kan användas för att läsa in DTD:er eller expandera entitetsreferenser. Med hjälp av XmlResolver.Credentials egenskapen kan du ange autentiseringsuppgifter för XmlResolver att komma åt resurser som lagras på en säker nätverksresurs.
Om dokumentet inte lästes in med hjälp av en XmlReader (dvs. om det lästes in med hjälp av en ström, fil och så vidare)
XmlResolveranvänds alltid påXmlDocument.Om dokumentet lästes in med en XmlTextReaderanvänds matcharen på
XmlTextReaderför att matcha eventuella DTD-referenser i DocumentType-noden. Matcharen påXmlDocumentanvänds för att expandera alla entitetsreferenser.Om dokumentet lästes in med en XmlValidatingReaderanvänds aldrig matcharen på
XmlDocument.Om dokumentet lästes in med en klass som utökas och
XmlReaderinte kan matcha entiteterXmlReader(CanResolveEntity returnerarfalse),XmlResolveranvänds påXmlDocumentför att matcha referenser i DocumentType-noden och för att expandera eventuella entitetsreferenser.
Note
XmlDocument Om läses in med en XmlReader som hade en XmlResolver inställd på den cachelagras XmlResolver inte på XmlReader av efter XmlDocumentLoad slutförd.
Om den här egenskapen inte har angetts i version 1.1 av.NET Framework avgör programmets förtroendenivå standardbeteendet.
Fully trusted code: Dokumentet använder ett standardvärde XmlUrlResolver utan användarautentiseringsuppgifter. Om autentisering krävs för att komma åt en nätverksresurs använder du XmlResolver egenskapen för att ange en XmlResolver med nödvändiga autentiseringsuppgifter.
Semi-trusted code: Egenskapen XmlResolver är inställd på null. Externa resurser har inte lösts.
Mer information om säkerhet och egenskapen finns i XmlResolverLösa externa resurser.
Den här egenskapen är ett Microsoft tillägg till dokumentobjektmodellen (DOM).