XmlDocument.XmlResolver Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nastaví pro XmlResolver použití k překladu externích prostředků.
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
Hodnota vlastnosti
Příkaz XmlResolver , který se má použít.
Ve verzi 1.1 the.NET Framework musí být volající plně důvěryhodný, aby bylo možné zadat XmlResolver.
Výjimky
Tato vlastnost je nastavena na null a externí DTD nebo entita je nalezena.
Příklady
Následující příklad načte dokument XML, který obsahuje odkaz na soubor DTD. Vlastnost XmlResolver slouží k nastavení přihlašovacích údajů potřebných pro přístup k síťovému prostředku.
#using <System.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Net;
int main()
{
// Supply the credentials necessary to access the DTD file stored on the network.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
resolver->Credentials = CredentialCache::DefaultCredentials;
// Create and load the XmlDocument.
XmlDocument^ doc = gcnew 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 );
}
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
V příkladu se jako vstup používají následující datové soubory.
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">
Poznámky
Dá XmlResolver se použít k načtení DTD nebo rozbalení odkazů na entity.
XmlResolver.Credentials Pomocí vlastnosti můžete nastavit přihlašovací údaje pro XmlResolver přístup k prostředkům uloženým v zabezpečeném síťovém prostředku.
Pokud se dokument nenačetl pomocí objektu XmlReader (tj. pokud byl načten pomocí streamu, souboru atd.),
XmlResolverpoužije se vždy soubor v souboruXmlDocument.Pokud byl dokument načten s XmlTextReader, překladač na objektu
XmlTextReaderslouží k překladu všech odkazů DTD v uzlu DocumentType. Překladač na objektuXmlDocumentslouží k rozbalení všech odkazů na entity.Pokud byl dokument načten s XmlValidatingReader, překladač na objektu
XmlDocumentse nikdy nepoužije.Pokud byl dokument načten s třídou, která rozšiřuje
XmlReaderaXmlReadernelze přeložit entity (CanResolveEntity vrátífalse),XmlResolverpoužije se příkaz na kartě k překladu všech odkazů v uzlu DocumentType a k rozbalení všech odkazů naXmlDocumententity.
Poznámka
Pokud se soubor XmlDocument načte pomocí objektuXmlReader, který měl nastavenou XmlResolver hodnotu, XmlResolver není objekt Load po XmlReader dokončení uložen v XmlDocument mezipaměti.
Ve verzi 1.1 the.NET Framework, pokud tato vlastnost není nastavena, úroveň důvěryhodnosti aplikace určuje výchozí chování.
Fully trusted code: Dokument používá výchozí XmlUrlResolver nastavení bez přihlašovacích údajů uživatele. Pokud se pro přístup k síťovému prostředku vyžaduje ověřování, použijte XmlResolver vlastnost k zadání XmlResolver s potřebnými přihlašovacími údaji.
Semi-trusted code: Vlastnost XmlResolver je nastavená na null. Externí prostředky se nepřeloží.
Další informace o zabezpečení a vlastnosti najdete v XmlResolver tématu Řešení externích prostředků.
Tato vlastnost je Microsoft rozšíření modelu DOM (Document Object Model).