XmlDocument.XmlResolver Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Beállítja a XmlResolver külső erőforrások feloldásához használni kívánt elemet.
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
Tulajdonság értéke
A XmlResolver használni kívánt.
A.NET-keretrendszer 1.1-es verziójában a hívónak teljes mértékben megbízhatónak kell lennie egy XmlResolver megadásához.
Kivételek
Ez a tulajdonság be van állítva, null és külső DTD vagy entitás jelenik meg.
Példák
Az alábbi példa betölt egy XML-dokumentumot, amely tartalmaz egy DTD-fájlra mutató hivatkozást. A XmlResolver tulajdonság a hálózati erőforrás eléréséhez szükséges hitelesítő adatok megadására szolgál.
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
A példa a következő adatfájlokat használja bemenetként.
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">
Megjegyzések
Ez XmlResolver használható DTD-k betöltésére vagy entitáshivatkozások kibontására. A XmlResolver.Credentials tulajdonság használatával hitelesítő adatokat állíthat be a XmlResolver biztonságos hálózati erőforrásokon tárolt erőforrások eléréséhez.
Ha a dokumentum nincs betöltve stream XmlReader , fájl stb. használatával (vagyis ha stream, fájl stb. használatával lett betöltve), a
XmlResolverrendszer mindig aXmlDocumentrajta lévőt használja.Ha a dokumentumot betöltötte egy XmlTextReader, a rajta lévő
XmlTextReaderfeloldó a DocumentType csomópontban található DTD-hivatkozások feloldására szolgál. A feloldó aXmlDocumentrajta lévő entitáshivatkozások kibontására szolgál.Ha a dokumentumot betöltötte egy XmlValidatingReader, akkor a rendszer soha nem használja a
XmlDocumentfeloldót.Ha a dokumentumot olyan osztály töltötte be, amely kiterjeszti
XmlReadera dokumentumot, és a nem tudja feloldani azXmlReaderentitásokat CanResolveEntity(falsevisszaadja), akkor aXmlResolverXmlDocumentprogram a DocumentType csomópontban lévő hivatkozások feloldására és az entitáshivatkozások kibontására szolgál.
Note
Ha a XmlDocument betöltés olyan eszközzel XmlReader történik, amely rendelkezik XmlResolver egy készlettel, akkor a XmlResolver rendszer nem gyorsítótárazza a rajta lévő XmlReader adatokat a XmlDocument befejezés után Load .
A.NET keretrendszer 1.1-es verziójában, ha ez a tulajdonság nincs beállítva, az alkalmazás megbízhatósági szintje határozza meg az alapértelmezett viselkedést.
Fully trusted code: A dokumentum alapértelmezés szerint XmlUrlResolver felhasználói hitelesítő adatok nélkül működik. Ha hitelesítésre van szükség egy hálózati erőforrás eléréséhez, a XmlResolver tulajdonság használatával adjon meg egy XmlResolver szükséges hitelesítő adatokat.
Semi-trusted code:A XmlResolver tulajdonság értéke .null A külső erőforrások nincsenek feloldva.
A biztonságról és a tulajdonságról további információt a XmlResolverKülső erőforrások feloldása című témakörben talál.
Ez a tulajdonság a Dokumentumobjektum-modell (DOM) Microsoft bővítménye.