Sdílet prostřednictvím


XmlDocument.XmlResolver Vlastnost

Definice

XmlResolver Nastaví použití pro překlad 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

To XmlResolver se má použít.

Ve verzi 1.1 rozhraní the.NET Framework musí být volající plně důvěryhodný, aby bylo možné zadat .XmlResolver

Výjimky

Tato vlastnost je nastavená na null externí DTD nebo entitu.

Příklady

Následující příklad načte dokument XML, který obsahuje odkaz na soubor DTD. Tato XmlResolver vlastnost slouží k nastavení přihlašovacích údajů nezbytných pro přístup k síťovému prostředku.

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

XmlResolver Dá se použít k načtení DTD nebo rozšíření 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í (XmlReadertj. pokud byl načten pomocí datového proudu, souboru atd.), XmlResolver použije se vždy.XmlDocument

  • Pokud byl dokument načten s XmlTextReaderpřekladačem XmlTextReader , použije se k překladu všech odkazů DTD v uzlu DocumentType. Překladač na straně se XmlDocument používá k rozbalení všech odkazů na entity.

  • Pokud se dokument načetl s překladačem XmlValidatingReader, nikdy se XmlDocument nepoužije.

  • Pokud byl dokument načten s třídou, která rozšiřuje XmlReader a XmlReader nemůže přeložit entity (CanResolveEntity vrátí false), XmlResolver použije se k XmlDocument překladu všech odkazů v uzlu DocumentType a k rozbalení odkazů na entity.

Poznámka:

Pokud se načte XmlDocument pomocí nastaveného XmlResolverXmlReader objektu, XmlResolver po dokončení se v mezipaměti neuloží XmlReaderXmlDocumentLoad.

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 je nastavena XmlResolver na nullhodnotu . Externí prostředky se nevyřeší.

Další informace o zabezpečení a XmlResolver vlastnosti naleznete v tématu Řešení externích prostředků.

Tato vlastnost je rozšířením Microsoftu pro model DOM (Document Object Model).

Platí pro

Viz také