XmlDocument.Load Метод

Определение

Загружает указанные XML-данные из Stream, URL-адрес, TextReader или XmlReader.Loads the specified XML data from a Stream, a URL, a TextReader, or an XmlReader.

Перегрузки

Load(Stream)

Загружает XML-документ из указанного потока.Loads the XML document from the specified stream.

Load(TextReader)

Загружает XML-документ из указанного TextReader.Loads the XML document from the specified TextReader.

Load(String)

Загружает XML-документ из указанного URL-адреса.Loads the XML document from the specified URL.

Load(XmlReader)

Загружает XML-документ из указанного XmlReader.Loads the XML document from the specified XmlReader.

Load(Stream)

Загружает XML-документ из указанного потока.Loads the XML document from the specified stream.

public:
 virtual void Load(System::IO::Stream ^ inStream);
public virtual void Load (System.IO.Stream inStream);
abstract member Load : System.IO.Stream -> unit
override this.Load : System.IO.Stream -> unit
Public Overridable Sub Load (inStream As Stream)

Параметры

inStream
Stream

Поток, содержащий загружаемый документ XML.The stream containing the XML document to load.

Исключения

Ошибка загрузки или синтаксического анализа в XML.There is a load or parse error in the XML. В этом случае вызывается исключение FileNotFoundException.In this case, a FileNotFoundException is raised.

Комментарии

Примечание

Load Метод всегда сохраняет значащие пробелы.The Load method always preserves significant white space. PreserveWhitespace Свойство определяет, сохраняется ли незначащий пробел, который является пробелом в содержимом элемента.The PreserveWhitespace property determines whether or not insignificant white space, that is white space in element content, is preserved. Значение по умолчанию — false; пробел в содержимом элемента не сохраняется.The default is false; white space in element content is not preserved.

Если требуется выполнить проверку, можно создать проверяющий XmlReader экземпляр с XmlReaderSettings помощью класса и Create метода.If you want validation to occur, you can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. Дополнительные сведения см. в подразделе "Примечания" на справочной странице XmlReader.For more information, see the Remarks section of the XmlReader reference page.

Этот метод является расширением Майкрософт для модель DOM (DOM).This method is a Microsoft extension to the Document Object Model (DOM).

Этот метод автоматически определяет формат строки входного XML (например, UTF-8, ANSI и т. д.).This method automatically detects the string format of the input XML (for example, UTF-8, ANSI, and so on). Если приложению необходимо узнать, какая кодировка используется для чтения потока, рассмотрите возможность использования XmlTextReader объекта для чтения потока, а затем XmlTextReader.Encoding используйте свойство для определения кодировки.If your application needs to know which encoding is used to read the stream, consider using an XmlTextReader object to read the stream, and then use the XmlTextReader.Encoding property to determine the encoding. Если для работы с XML необходимо XmlDocument использовать объект, можно создать его с XmlTextReader помощью объекта.If you need to use a XmlDocument object to work with XML, you can use the XmlTextReader object to create one. Дополнительные сведения см. в разделе чтение XML-данных с помощью XPathDocument и XmlDocument.For more information, see Reading XML Data using XPathDocument and XmlDocument.

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

Load(TextReader)

Загружает XML-документ из указанного TextReader.Loads the XML document from the specified TextReader.

public:
 virtual void Load(System::IO::TextReader ^ txtReader);
public virtual void Load (System.IO.TextReader txtReader);
abstract member Load : System.IO.TextReader -> unit
override this.Load : System.IO.TextReader -> unit
Public Overridable Sub Load (txtReader As TextReader)

Параметры

txtReader
TextReader

TextReader, используемый для передачи данных XML в документ.The TextReader used to feed the XML data into the document.

Исключения

Ошибка загрузки или синтаксического анализа в XML.There is a load or parse error in the XML. В этом случае документ остается пустым.In this case, the document remains empty.

Примеры

В следующем примере StringReader класс используется для загрузки строки XML-данных XmlDocument в объект.The following example uses the StringReader class to load a string of XML data into the XmlDocument object.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   // Create the XmlDocument.
   XmlDocument^ doc = gcnew XmlDocument;
   String^ xmlData = "<book xmlns:bk='urn:samples'></book>";
   doc->Load( gcnew StringReader( xmlData ) );
   
   // Create a new element and add it to the document.
   XmlElement^ elem = doc->CreateElement( "bk", "genre", "urn:samples" );
   elem->InnerText = "fantasy";
   doc->DocumentElement->AppendChild( elem );
   Console::WriteLine( "Display the modified XML..." );
   doc->Save( Console::Out );
}

using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

    // Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    string xmlData = "<book xmlns:bk='urn:samples'></book>";

    doc.Load(new StringReader(xmlData));

    // Create a new element and add it to the document.
    XmlElement elem = doc.CreateElement("bk", "genre", "urn:samples");
    elem.InnerText = "fantasy";
    doc.DocumentElement.AppendChild(elem);

    Console.WriteLine("Display the modified XML...");
    doc.Save(Console.Out);

  }
}
Imports System.IO
Imports System.Xml

public class Sample 

  public shared sub Main() 

    ' Create the XmlDocument.
    Dim doc as XmlDocument = new XmlDocument()
    Dim xmlData as string = "<book xmlns:bk='urn:samples'></book>"

    doc.Load(new StringReader(xmlData))

    ' Create a new element and add it to the document.
    Dim elem as XmlElement = doc.CreateElement("bk", "genre", "urn:samples")
    elem.InnerText = "fantasy"
    doc.DocumentElement.AppendChild(elem)

    Console.WriteLine("Display the modified XML...")
    doc.Save(Console.Out)

  end sub
end class

Комментарии

Примечание

Load Метод всегда сохраняет значащие пробелы.The Load method always preserves significant white space. PreserveWhitespace Свойство определяет, сохраняется ли незначащий пробел, который является пробелом в содержимом элемента.The PreserveWhitespace property determines whether or not insignificant white space, that is white space in element content, is preserved. Значение по умолчанию — false; пробел в содержимом элемента не сохраняется.The default is false; white space in element content is not preserved.

Если требуется выполнить проверку, можно создать проверяющий XmlReader экземпляр с XmlReaderSettings помощью класса и Create метода.If you want validation to occur, you can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. Дополнительные сведения см. в подразделе "Примечания" на справочной странице XmlReader.For more information, see the Remarks section of the XmlReader reference page.

Этот метод является расширением Майкрософт для модель DOM (DOM).This method is a Microsoft extension to the Document Object Model (DOM).

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

Load(String)

Загружает XML-документ из указанного URL-адреса.Loads the XML document from the specified URL.

public:
 virtual void Load(System::String ^ filename);
public virtual void Load (string filename);
abstract member Load : string -> unit
override this.Load : string -> unit
Public Overridable Sub Load (filename As String)

Параметры

filename
String

URL-адрес файла, содержащего загружаемый документ XML.URL for the file containing the XML document to load. URL-адрес может ссылаться на локальный файл или являться HTTP-ссылкой (веб-адресом).The URL can be either a local file or an HTTP URL (a Web address).

Исключения

Ошибка загрузки или синтаксического анализа в XML.There is a load or parse error in the XML. В этом случае вызывается исключение FileNotFoundException.In this case, a FileNotFoundException is raised.

filename представляет собой строку нулевой длины, содержащую только пробелы или один или несколько недопустимых символов, заданных методом InvalidPathChars.filename is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

Свойство filename имеет значение null.filename is null.

Указанный путь, имя файла или оба значения превышают максимальную длину, заданную в системе.The specified path, file name, or both exceed the system-defined maximum length.

Указан недопустимый путь (например, он ведет на несопоставленный диск).The specified path is invalid (for example, it is on an unmapped drive).

При открытии файла произошла ошибка ввода-вывода.An I/O error occurred while opening the file.

Параметр filename указывает файл, доступный только для чтения.filename specified a file that is read-only.

-или--or- Эта операция не поддерживается на текущей платформе.This operation is not supported on the current platform.

-или--or- Параметрfilename определяет каталог.filename specified a directory.

- или --or- У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Файл, заданный параметром filename, не найден.The file specified in filename was not found.

Параметр filename задан в недопустимом формате.filename is in an invalid format.

У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Комментарии

Примечание

Load Метод всегда сохраняет значащие пробелы.The Load method always preserves significant white space. PreserveWhitespace Свойство определяет, сохраняется ли незначащий пробел, который является пробелом в содержимом элемента.The PreserveWhitespace property determines whether or not insignificant white space, that is white space in element content, is preserved. Значение по умолчанию — false; пробел в содержимом элемента не сохраняется.The default is false; white space in element content is not preserved.

Если требуется выполнить проверку, можно создать проверяющий XmlReader экземпляр с XmlReaderSettings помощью класса и Create метода.If you want validation to occur, you can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. Дополнительные сведения см. в подразделе "Примечания" на справочной странице XmlReader.For more information, see the Remarks section of the XmlReader reference page.

Этот метод является расширением Майкрософт для модель DOM (DOM).This method is a Microsoft extension to the Document Object Model (DOM).

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

Load(XmlReader)

Загружает XML-документ из указанного XmlReader.Loads the XML document from the specified XmlReader.

public:
 virtual void Load(System::Xml::XmlReader ^ reader);
public virtual void Load (System.Xml.XmlReader reader);
abstract member Load : System.Xml.XmlReader -> unit
override this.Load : System.Xml.XmlReader -> unit
Public Overridable Sub Load (reader As XmlReader)

Параметры

reader
XmlReader

XmlReader, используемый для передачи данных XML в документ.The XmlReader used to feed the XML data into the document.

Исключения

Ошибка загрузки или синтаксического анализа в XML.There is a load or parse error in the XML. В этом случае документ остается пустым.In this case, the document remains empty.

Примеры

В следующем примере загружается последний узел books.xml книги файла в XML-документ.The following example loads the last book node of the books.xml file into the XML document.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   
   //Create the XmlDocument.
   XmlDocument^ doc = gcnew XmlDocument;
   
   //Load the document with the last book node.
   XmlTextReader^ reader = gcnew XmlTextReader( "books.xml" );
   reader->WhitespaceHandling = WhitespaceHandling::None;
   reader->MoveToContent();
   reader->Read();
   reader->Skip(); //Skip the first book.
   reader->Skip(); //Skip the second book.
   doc->Load( reader );
   doc->Save( Console::Out );
}

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    //Create the XmlDocument.
    XmlDocument doc = new XmlDocument();

    //Load the document with the last book node.
    XmlTextReader reader = new XmlTextReader("books.xml");
    reader.WhitespaceHandling = WhitespaceHandling.None;
    reader.MoveToContent();
    reader.Read();
    reader.Skip(); //Skip the first book.
    reader.Skip(); //Skip the second book.
    doc.Load(reader);

    doc.Save(Console.Out);
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        'Create the XmlDocument.
        Dim doc As New XmlDocument()
        
        'Load the document with the last book node.
        Dim reader As New XmlTextReader("books.xml")
        reader.WhitespaceHandling = WhitespaceHandling.None
        reader.MoveToContent()
        reader.Read()
        reader.Skip() 'Skip the first book.
        reader.Skip() 'Skip the second book.
        doc.Load(reader)
        
        doc.Save(Console.Out)
    End Sub
End Class

В этом примере в качестве входных данных используется файл books.xml.The example uses the file, books.xml, as input.

<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

Комментарии

Примечание

Load Метод всегда сохраняет значащие пробелы.The Load method always preserves significant white space. PreserveWhitespace Свойство определяет, сохраняется ли незначащий пробел, который является пробелом в содержимом элемента.The PreserveWhitespace property determines whether or not insignificant white space, that is white space in element content, is preserved. Значение по умолчанию — false; пробел в содержимом элемента не сохраняется.The default is false; white space in element content is not preserved.

Если модуль чтения находится в начальном состоянии (ReadState = ReadState. Initial), Load принимает все содержимое средства чтения и строит DOM на основе найденного объекта.If the reader is in the initial state (ReadState =ReadState.Initial), Load consumes the entire contents of the reader and builds the DOM from what it finds.

Если средство чтения уже позиционировано на каком-либо узле в глубине "n", этот метод загружает этот узел и все последующие родственные элементы вплоть до закрывающего тега, который закрывает глубину "n".If the reader is already positioned on some node at depth "n", this method loads that node and all subsequent siblings up to the end tag that closes depth "n". Это приводит к следующим результатам.This has the following results.

Если текущий узел и его родственные элементы выглядят следующим образом:If the current node and its siblings look like the following:

<!--comment--><element1>one</element1><element2>two</element2>  

Loadвызывает исключение, поскольку документ не может иметь два элемента корневого уровня.Load throws an exception because a document cannot have two root level elements. Если текущий узел и его родственные элементы выглядят следующим образом:If the current node and its siblings look like the following:

<!--comment--><?process instruction?><!--comment--></endtag>  

Loadуспешно, но у вас есть неполное дерево DOM, так как отсутствует элемент корневого уровня.Load succeeds, but you have an incomplete DOM tree because there is no root level element. Перед сохранением документа необходимо добавить элемент корневого уровня. в противном случае Save будет создано исключение.Before you save the document, you must add a root level element, otherwise Save will throw an exception.

Если модуль чтения находится на конечном узле, который является недопустимым для корневого уровня документа, например пробела или узла атрибута, читатель продолжит чтение до тех пор, пока он не будет размещен на узле, который можно использовать для корня.If the reader is positioned on a leaf node that is invalid for the root level of a document, for example a white space or attribute node, the reader continues to read until it is positioned on a node that can be used for the root. Документ начинает загружаться в этой точке.The document begins loading at this point.

Если требуется выполнить проверку, можно создать проверяющий XmlReader экземпляр с XmlReaderSettings помощью класса и Create метода.If you want validation to occur, you can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. Дополнительные сведения см. в подразделе "Примечания" на справочной странице XmlReader.For more information, see the Remarks section of the XmlReader reference page.

Этот метод является расширением Майкрософт для модель DOM (DOM).This method is a Microsoft extension to the Document Object Model (DOM).

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

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