XmlDocument.Load 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 Stream、URL、TextReader 或 XmlReader 加载指定的 XML 数据。
重载
Load(Stream) |
从指定的流加载 XML 文档。 |
Load(TextReader) |
从指定的 TextReader 加载 XML 文档。 |
Load(String) |
从指定的 URL 加载 XML 文档。 |
Load(XmlReader) |
从指定的 XmlReader 加载 XML 文档。 |
Load(Stream)
- Source:
- XmlDocument.cs
- Source:
- XmlDocument.cs
- Source:
- XmlDocument.cs
从指定的流加载 XML 文档。
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 文档的流。
例外
XML 中存在加载或分析错误。 在这种情况下,将引发 FileNotFoundException。
注解
注意
方法 Load
始终保留大量空白。 属性 PreserveWhitespace 确定是否保留不小的空白,即元素内容中的空格。 默认值为 false
;不保留元素内容中的空格。
如果希望进行验证,可以使用 类和 Create 方法创建验证XmlReader实例XmlReaderSettings。 有关详细信息,请参阅 XmlReader 引用页的“备注”部分。
此方法是文档对象模型的 Microsoft 扩展, (DOM) 。
此方法自动检测输入 XML (的字符串格式,例如 UTF-8、ANSI 等) 。 如果应用程序需要知道使用哪种编码来读取流,请考虑使用 XmlTextReader 对象来读取流,然后使用 XmlTextReader.Encoding 属性来确定编码。 如果需要使用 XmlDocument 对象来处理 XML,可以使用 对象 XmlTextReader 创建一个。 有关详细信息,请参阅 使用 XPathDocument 读取 XML 数据和 XmlDocument。
另请参阅
适用于
Load(TextReader)
- Source:
- XmlDocument.cs
- Source:
- XmlDocument.cs
- Source:
- XmlDocument.cs
从指定的 TextReader 加载 XML 文档。
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
用于将 XML 数据输送到文档中的 TextReader
。
例外
XML 中存在加载或分析错误。 在这种情况下,该文档保留为空。
示例
下面的示例使用 StringReader 类将 XML 数据的字符串加载到 对象中 XmlDocument
。
#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
始终保留大量空白。 属性 PreserveWhitespace 确定是否保留不小的空白,即元素内容中的空格。 默认值为 false
;不保留元素内容中的空格。
如果希望进行验证,可以使用 类和 Create 方法创建验证XmlReader实例XmlReaderSettings。 有关详细信息,请参阅 XmlReader 引用页的“备注”部分。
此方法是文档对象模型的 Microsoft 扩展, (DOM) 。
另请参阅
适用于
Load(String)
- Source:
- XmlDocument.cs
- Source:
- XmlDocument.cs
- Source:
- XmlDocument.cs
从指定的 URL 加载 XML 文档。
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
含要加载的 XML 文档的文件的 URL。 URL 既可以是本地文件,也可以是 HTTP URL(Web 地址)。
例外
XML 中存在加载或分析错误。 在这种情况下,将引发 FileNotFoundException。
filename
是一个长度为零的字符串,仅包含空格,或包含一个或多个由 InvalidPathChars 定义的无效字符。
filename
为 null
。
指定的路径和/或文件名超过了系统定义的最大长度。
指定的路径无效(例如,它位于未映射的驱动器上)。
打开文件时发生 I/O 错误。
filename
指定了一个只读文件。
- 或 -
当前平台不支持此操作。
- 或 -
filename
指定了一个目录。
- 或 -
调用方没有所要求的权限。
未找到 filename
中指定的文件。
filename
的格式无效。
调用方没有所要求的权限。
注解
注意
方法 Load
始终保留大量空白。 属性 PreserveWhitespace 确定是否保留不小的空白,即元素内容中的空格。 默认值为 false
;不保留元素内容中的空格。
如果希望进行验证,可以使用 类和 Create 方法创建验证XmlReader实例XmlReaderSettings。 有关详细信息,请参阅 XmlReader 引用页的“备注”部分。
此方法是文档对象模型的 Microsoft 扩展, (DOM) 。
另请参阅
适用于
Load(XmlReader)
- Source:
- XmlDocument.cs
- Source:
- XmlDocument.cs
- Source:
- XmlDocument.cs
从指定的 XmlReader 加载 XML 文档。
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
用于将 XML 数据输送到文档中的 XmlReader
。
例外
XML 中存在加载或分析错误。 在这种情况下,该文档保留为空。
示例
以下示例将文件的最后一个书籍节点 books.xml
加载到 XML 文档中。
#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
作为输入。
<?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
始终保留大量空白。 属性 PreserveWhitespace 确定是否保留不小的空白,即元素内容中的空格。 默认值为 false
;不保留元素内容中的空格。
如果读取器处于初始状态 (ReadState =ReadState.Initial) , Load
则 使用读取器的全部内容,并从找到的内容生成 DOM。
如果读取器已定位在某个深度为“n”的节点上,此方法会将该节点和所有后续同级加载到关闭深度“n”的结束标记。 这具有以下结果。
如果当前节点及其同级节点如下所示:
<!--comment--><element1>one</element1><element2>two</element2>
Load
引发异常,因为文档不能有两个根级元素。 如果当前节点及其同级节点如下所示:
<!--comment--><?process instruction?><!--comment--></endtag>
Load
成功,但由于没有根级别元素,因此具有不完整的 DOM 树。 在保存文档之前,必须添加根级别元素,否则 Save 将引发异常。
如果读取器定位在对文档的根级别无效的叶节点(例如空白节点或属性节点)上,则读取器将继续读取,直到它定位在可用于根的节点上。 文档在此时开始加载。
如果希望进行验证,可以使用 类和 Create 方法创建验证XmlReader实例XmlReaderSettings。 有关详细信息,请参阅 XmlReader 引用页的“备注”部分。
此方法是文档对象模型的 Microsoft 扩展, (DOM) 。