XmlDocument.XmlResolver Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ustawia wartość XmlResolver , która ma być używana do rozpoznawania zasobów zewnętrznych.
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
Wartość właściwości
Do XmlResolver
użycia.
W wersji 1.1 programu the.NET Framework obiekt wywołujący musi być w pełni zaufany, aby określić XmlResolver
element .
Wyjątki
Ta właściwość jest ustawiona na null
i napotkano zewnętrzną jednostkę LUB DTD.
Przykłady
Poniższy przykład ładuje dokument XML zawierający odwołanie do pliku DTD. Właściwość XmlResolver
służy do ustawiania poświadczeń niezbędnych do uzyskania dostępu do zasobu sieciowego.
#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
W przykładzie użyto następujących plików danych jako danych wejściowych.
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">
Uwagi
Można XmlResolver
go użyć do załadowania identyfikatorów DTD lub rozwinięcia odwołań do jednostek. XmlResolver.Credentials Za pomocą właściwości można ustawić poświadczenia na obiekcie XmlResolver
, aby uzyskać dostęp do zasobów przechowywanych w bezpiecznym zasobie sieciowym.
Jeśli dokument nie został załadowany przy użyciu elementu XmlReader (czyli jeśli został załadowany przy użyciu strumienia, pliku itd.),
XmlResolver
XmlDocument
jest zawsze używany.Jeśli dokument został załadowany z elementem XmlTextReader, narzędzie rozpoznawania elementu
XmlTextReader
jest używane do rozpoznawania odwołań DTD w węźle DocumentType. Rozpoznawanie w obiekcieXmlDocument
służy do rozwijania odwołań do dowolnej jednostki.Jeśli dokument został załadowany z elementem XmlValidatingReader, program rozpoznawania
XmlDocument
nie jest nigdy używany.Jeśli dokument został załadowany z klasą rozszerzającą
XmlReader
się iXmlReader
nie można rozpoznać jednostek (CanResolveEntity zwracafalse
),XmlResolver
element w elemencieXmlDocument
jest używany do rozpoznawania odwołań w węźle DocumentType i rozwijania wszelkich odwołań do jednostki.
Uwaga
Jeśli element XmlDocument
jest ładowany przy użyciu elementu z ustawionym XmlReader zestawemXmlResolver
, XmlResolver
element na obiekcie XmlReader
nie jest buforowany przez po Load zakończeniuXmlDocument
.
W wersji 1.1 programu the.NET Framework, jeśli ta właściwość nie jest ustawiona, poziom zaufania aplikacji określa domyślne zachowanie.
Fully trusted code:
Dokument używa wartości domyślnej XmlUrlResolver bez poświadczeń użytkownika. Jeśli uwierzytelnianie jest wymagane do uzyskania dostępu do zasobu sieciowego, użyj XmlResolver
właściwości , aby określić element XmlResolver
z wymaganymi poświadczeniami.
Semi-trusted code:
Właściwość jest ustawiona XmlResolver
na null
. Zasoby zewnętrzne nie są rozwiązywane.
Aby uzyskać więcej informacji na temat zabezpieczeń i XmlResolver
właściwości, zobacz Rozwiązywanie zasobów zewnętrznych.
Ta właściwość jest rozszerzeniem firmy Microsoft do modelu obiektów dokumentów (DOM).