XmlDocument.ReadNode(XmlReader) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
Paramètres
- reader
- XmlReader
Source XML.
Retours
Le nouvel élément XmlNode
ou null
s'il n'existe plus de nœuds.
Exceptions
Le lecteur est positionné sur un type de nœud qui ne se convertit pas en nœud DOM valide (par exemple, EndElement ou EndEntity).
Exemples
L’exemple suivant utilise ReadNode
pour créer un nœud, puis insère le nouveau nœud dans le 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;
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
L’exemple utilise le fichier , cd.xml
comme entrée.
<!-- sample CD -->
<cd genre='alternative'>
<title>Americana</title>
<artist>Offspring</artist>
</cd>
Remarques
Lit un XmlNode
lecteur donné et positionne le lecteur sur le nœud suivant. Cette méthode crée le type de XmlNode
correspondance NodeType sur lequel le lecteur est actuellement positionné. (Si le lecteur est dans l’état initial, ReadNode
avance le lecteur vers le premier nœud, puis opère sur ce nœud.)
Si le lecteur est positionné au début d’un élément, ReadNode
lit tous les attributs et tous les nœuds enfants, jusqu’à et y compris la balise de fin du nœud actuel. Le XmlNode
retourné contient la sous-arborescence représentant tout ce qui est lu. Le lecteur est positionné immédiatement après la balise de fin.
ReadNode
peut également lire des attributs, mais dans ce cas, il n’avance pas le lecteur vers l’attribut suivant. Cela vous permet d’écrire le code C# suivant :
XmlDocument doc = new XmlDocument();
while (reader.MoveToNextAttribute())
{
XmlNode a = doc.ReadNode(reader);
// Do some more processing.
}
ReadNode
consomme toutefois la valeur d’attribut, ce qui signifie qu’après avoir appelé ReadNode
sur un attribut, XmlReader.ReadAttributeValue retourne false
.
Notes pour les héritiers
Cette méthode a une demande d’héritage. Une confiance totale est requise pour remplacer la ReadNode
méthode .
Cette méthode est une extension Microsoft du dom (Document Object Model).