XmlDocument.XmlResolver Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
XmlResolver Задает для разрешения внешних ресурсов.
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
Значение свойства
Используется XmlResolver .
В версии 1.1 the.NET Framework вызывающий объект должен быть полностью доверенным, чтобы указать XmlResolverобъект.
Исключения
Это свойство имеет значение и обнаружена null внешняя DTD или сущность.
Примеры
В следующем примере загружается XML-документ, содержащий ссылку на DTD-файл. Свойство XmlResolver используется для задания учетных данных, необходимых для доступа к сетевому ресурсу.
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
В этом примере в качестве входных данных используются следующие файлы данных.
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 или расширения ссылок на сущности.
XmlResolver.Credentials С помощью свойства можно задать учетные данные для XmlResolver доступа к ресурсам, хранящимся в защищенном сетевом ресурсе.
Если документ не был загружен с помощью (то есть, если он был загружен с XmlReader помощью потока, файла и т. д.)
XmlResolverвсегда используется.XmlDocumentЕсли документ был загружен с XmlTextReaderпомощью , сопоставитель используется
XmlTextReaderдля разрешения любых ссылок DTD на узле DocumentType. Сопоставитель на объектеXmlDocumentиспользуется для расширения ссылок на сущности.Если документ был загружен с XmlValidatingReaderпомощью средства разрешения
XmlDocument, он никогда не используется.Если документ был загружен с классом, расширяющимся
XmlReaderиXmlReaderне удается разрешить сущности (CanResolveEntityвозвращаетсяfalse),XmlDocumentXmlResolverон используется для разрешения ссылок на все ссылки в узле DocumentType и для расширения ссылок на сущности.
Замечание
Если он XmlDocument загружается с помощью XmlReader набора, XmlResolverXmlReaderXmlResolver он не кэшируется XmlDocument после Load завершения.
В версии 1.1 the.NET Framework, если это свойство не задано, уровень доверия приложения определяет поведение по умолчанию.
Fully trusted code: Документ использует значение по умолчанию XmlUrlResolver без учетных данных пользователя. Если для доступа к сетевому ресурсу требуется проверка подлинности, используйте XmlResolver свойство, чтобы указать XmlResolver необходимые учетные данные.
Semi-trusted code: Для XmlResolver свойства задано значение null. Внешние ресурсы не разрешаются.
Дополнительные сведения о безопасности и XmlResolver свойстве см. в разделе "Разрешение внешних ресурсов".
Это свойство является расширением Майкрософт для объектной модели документов (DOM).