XmlDocument.ReadNode(XmlReader) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
public:
virtual System::Xml::XmlNode ^ ReadNode(System::Xml::XmlReader ^ reader);
public virtual System.Xml.XmlNode ReadNode (System.Xml.XmlReader reader);
public virtual System.Xml.XmlNode? ReadNode (System.Xml.XmlReader reader);
abstract member ReadNode : System.Xml.XmlReader -> System.Xml.XmlNode
override this.ReadNode : System.Xml.XmlReader -> System.Xml.XmlNode
Public Overridable Function ReadNode (reader As XmlReader) As XmlNode
パラメーター
- reader
- XmlReader
XML ソース。
戻り値
新しい XmlNode
。ノードがそれ以上存在しない場合は null
。
例外
リーダーが、EndElement や EndEntity など、正しい DOM ノードに変換されないノード型に配置されています。
例
次の例では、 ReadNode
新しいノードを作成し、ドキュメントに新しいノードを挿入します。
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
//Create the XmlDocument.
XmlDocument^ doc = gcnew XmlDocument;
doc->LoadXml( "<bookstore><book genre='novel' ISBN='1-861001-57-5'><title>Pride And Prejudice</title></book></bookstore>" );
//Create a reader.
XmlTextReader^ reader = gcnew XmlTextReader( "cd.xml" );
reader->MoveToContent(); //Move to the cd element node.
//Create a node representing the cd element node.
XmlNode^ cd = doc->ReadNode( reader );
//Insert the new node into the document.
doc->DocumentElement->AppendChild( cd );
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();
doc.LoadXml("<bookstore>" +
"<book genre='novel' ISBN='1-861001-57-5'>" +
"<title>Pride And Prejudice</title>" +
"</book>" +
"</bookstore>");
//Create a reader.
XmlTextReader reader = new XmlTextReader("cd.xml");
reader.MoveToContent(); //Move to the cd element node.
//Create a node representing the cd element node.
XmlNode cd = doc.ReadNode(reader);
//Insert the new node into the document.
doc.DocumentElement.AppendChild(cd);
Console.WriteLine("Display the modified XML...");
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()
doc.LoadXml("<bookstore>" & _
"<book genre='novel' ISBN='1-861001-57-5'>" & _
"<title>Pride And Prejudice</title>" & _
"</book>" & _
"</bookstore>")
'Create a reader.
Dim reader As New XmlTextReader("cd.xml")
reader.MoveToContent() 'Move to the cd element node.
'Create a node representing the cd element node.
Dim cd As XmlNode = doc.ReadNode(reader)
'Insert the new node into the document.
doc.DocumentElement.AppendChild(cd)
Console.WriteLine("Display the modified XML...")
doc.Save(Console.Out)
End Sub
End Class
この例では、 cd.xml
ファイルを入力として使用します。
<!-- sample CD -->
<cd genre='alternative'>
<title>Americana</title>
<artist>Offspring</artist>
</cd>
注釈
指定されたリーダーから 1 つ XmlNode
を読み取り、リーダーを次のノードに配置します。 このメソッドは、リーダーが XmlNode
現在配置されている一致 NodeType する型を作成します。 (リーダーが初期状態の場合は、 ReadNode
リーダーを最初のノードに進めてから、そのノードで動作します)。
リーダーが要素の先頭に配置されている場合は、 ReadNode
現在のノードの終了タグまで、すべての属性と子ノードを読み取ります。 返される値には XmlNode
、読み取られたすべてのものを表すサブツリーが含まれます。 リーダーは終了タグの直後に配置されます。
ReadNode
属性を読み取ることもできますが、この場合、リーダーは次の属性に進むことはありません。 これにより、次の C# コードを記述できます。
XmlDocument doc = new XmlDocument();
while (reader.MoveToNextAttribute())
{
XmlNode a = doc.ReadNode(reader);
// Do some more processing.
}
ReadNode
は属性値を消費しますが、これは属性XmlReader.ReadAttributeValueを呼び出ReadNode
した後に戻りますfalse
。
注意 (継承者)
このメソッドには継承要求があります。 メソッドをオーバーライドするには、完全信頼が ReadNode
必要です。
このメソッドは、ドキュメント オブジェクト モデル (DOM) に対する Microsoft の拡張機能です。