XmlDocument.XmlResolver Свойство

Определение

Задает XmlResolver, используемый для разрешения внешних ресурсов.Sets the XmlResolver to use for resolving external resources.

public:
 virtual property System::Xml::XmlResolver ^ XmlResolver {  void set(System::Xml::XmlResolver ^ value); };
public virtual System.Xml.XmlResolver XmlResolver { set; }
member this.XmlResolver : System.Xml.XmlResolver
Public Overridable Property XmlResolver As XmlResolver

Значение свойства

Используемый XmlResolver.The XmlResolver to use.

Чтобы указать XmlResolver в .NET Framework версии 1.1, вызывающий объект должен быть надежным.In version 1.1 of the.NET Framework, the caller must be fully trusted in order to specify an XmlResolver.

Исключения

Это свойство имеет значение null, и произошло обнаружение внешнего DTD или внешней сущности.This property is set to null and an external DTD or entity is encountered.

Примеры

В следующем примере загружается XML-документ, который содержит ссылку на файл DTD.The following example loads an XML document which includes a reference to a DTD file. XmlResolver Свойство используется для задания учетных данных, необходимых для доступа к сетевому ресурсу.The XmlResolver property is used to set the credentials necessary to access the network resource.

#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

В этом примере в качестве входных данных используются следующие файлы.The example uses the following data files as input.

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">

Комментарии

XmlResolver Можно использовать для загрузки DTD или расширения ссылок на сущности.The XmlResolver can be used to load DTDs or expand entity references. С помощью XmlResolver свойства можно задать учетные данные для доступа к ресурсам, хранящимся в защищенном сетевом ресурсе. XmlResolver.CredentialsUsing the XmlResolver.Credentials property, you can set credentials on the XmlResolver to access resources stored on a secure network resource.

  • Если документ не был загружен с помощью XmlReader (то есть, если он был загружен с помощью потока, файла и т. д.), то XmlResolver XmlDocument в всегда используется.If the document was not loaded using an XmlReader (that is, if it was loaded using a stream, file, and so on) the XmlResolver on the XmlDocument is always used.

  • Если документ был загружен с помощью XmlTextReader, сопоставитель XmlTextReader в используется для разрешения любых ссылок на DTD в узле DocumentType.If the document was loaded with an XmlTextReader, the resolver on the XmlTextReader is used to resolve any DTD references in the DocumentType node. Сопоставитель в XmlDocument используется для расширения любых ссылок на сущности.The resolver on the XmlDocument is used to expand any entity references.

  • Если документ был загружен с помощью XmlValidatingReader, сопоставитель XmlDocument в никогда не используется.If the document was loaded with an XmlValidatingReader, the resolver on the XmlDocument is never used.

  • Если документ был загружен с классом, который расширяет XmlReader XmlReader и не может разрешать сущностиCanResolveEntity ( falseReturnS) XmlResolver , то XmlDocument в используется для разрешения любых ссылок в узле DocumentType. и, чтобы развернуть все ссылки на сущности.If the document was loaded with a class that extends XmlReader and the XmlReader cannot resolve entities (CanResolveEntity returns false), the XmlResolver on the XmlDocument is used to resolve any references in the DocumentType node and to expand any entity references.

Примечание

XmlReader XmlDocument XmlResolver XmlReader Load Если загружается с помощью объекта, для XmlResolver которого задано значение, то в не кэшируется по завершении. XmlDocumentIf the XmlDocument is loaded using an XmlReader which had an XmlResolver set to it, the XmlResolver on the XmlReader is not cached by the XmlDocument after Load completes.

В версии 1,1 платформы the.NET Framework, если это свойство не задано, уровень доверия приложения определяет поведение по умолчанию.In version 1.1 of the.NET Framework, if this property is not set, the trust level of the application determines the default behavior.

Fully trusted code:В документе используется значение по XmlUrlResolver умолчанию без учетных данных пользователя.Fully trusted code: The document uses a default XmlUrlResolver with no user credentials. Если для доступа к сетевому ресурсу требуется проверка подлинности, используйте XmlResolver свойство, чтобы XmlResolver указать необходимые учетные данные.If authentication is required to access a network resource, use the XmlResolver property to specify an XmlResolver with the necessary credentials.

Semi-trusted code:``XmlResolver Свойство имеет nullзначение.Semi-trusted code: The XmlResolver property is set to null. Внешние ресурсы не разрешаются.External resources are not resolved.

Дополнительные сведения о безопасности и свойстве XmlResolver см. в разделе разрешение внешних ресурсов.For more information on security and the XmlResolver property, see Resolving External Resources.

Это свойство является расширением Microsoft для объектной модели документа (DOM).This property is a Microsoft extension to the Document Object Model (DOM).

Применяется к

Дополнительно