On sait qu'il existe un fichier XML (bookstore.xml) comme suit :
1. Insérez un nœud
XmlDocument xmlDoc=nouveau XmlDocument();
xmlDoc.Load("librairie.xml");
XmlNode root=xmlDoc.SelectSingleNode("librairie");//Trouver
XmlElement xe1=xmlDoc.CreateElement("book");//Créer un nœud
xe1.SetAttribute("genre","Li Zanhong");//Définir l'attribut de genre du nœud
xe1.SetAttribute("ISBN","2-3631-4");//Définir l'attribut ISBN du nœud
XmlElement xesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS de débutant à compétent";//Définir les nœuds de texte
xe1.AppendChild(xesub1);//Ajouter au nœud
XmlElement xesub2=xmlDoc.CreateElement("auteur");
xesub2.InnerText="houjie";
xe1.AppendChild(xesub2);
XmlElement xesub3=xmlDoc.CreateElement("prix");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);//Ajouter au nœud
xmlDoc.Save("librairie.xml");
//=================================================
Le résultat est :
2. Modifiez le nœud : changez la valeur de genre du nœud dont la valeur d'attribut de genre est "Li Zanhong" en "mettre à jour Li Zanhong", et modifiez le texte du nœud enfant
XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//Obtenir tous les nœuds enfants du nœud librairie
foreach (XmlNode xn dans nodeList) // Traverser tous les nœuds enfants
{
XmlElement xe=(XmlElement)xn;//Convertir le type de sous-nœud en type XmlElement
if(xe.GetAttribute("genre")=="Li Zanhong")//Si la valeur de l'attribut genre est "Li Zanhong"
{
xe.SetAttribute("genre","update Li Zanhong");//Modifier cet attribut pour "mettre à jour Li Zanhong"
XmlNodeList nls=xe.ChildNodes;//Continuer pour obtenir tous les nœuds enfants du nœud enfant xe
foreach(XmlNode xn1 en nls)//Traverse
{
XmlElement xe2=(XmlElement)xn1;//Type de conversion
if(xe2.Name=="author")//Si trouvé
{
xe2.InnerText="Yasheng";//Modifier
break;//Trouvez-le et sortez.
}
}
casser;
}
}
xmlDoc.Save("librairie.xml");//Enregistrer.
//================================================= ==
Le résultat final est :
3. Supprimez l'attribut genre du nœud
XmlNodeList xnl=xmlDoc.SelectSingleNode("librairie").ChildNodes
foreach(XmlNode xn en xnl)
{
XmlElement xe=(XmlElement)xn;
if(xe.GetAttribute("genre")=="fantastique")
{
xe.RemoveAttribute("genre");//Supprimer l'attribut genre
}
sinon if(xe.GetAttribute("genre")=="updateLi Zanhong")
{
xe.RemoveAll();//Supprimer tout le contenu du nœud
}
}
xmlDoc.Save("librairie.xml");
//=============================================
Le résultat final est :
4. Affichez toutes les données.
XmlNode xn=xmlDoc.SelectSingleNode("librairie");
XmlNodeList xnl=xn.ChildNodes
foreach(XmlNode xnf en xnl)
{
XmlElement xe=(XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("genre"));//Afficher la valeur de l'attribut
Console.WriteLine(xe.GetAttribute("ISBN"));
XmlNodeList xnf1=xe.ChildNodes;
foreach (XmlNode xn2 dans xnf1)
{
Console.WriteLine(xn2.InnerText);//Afficher le texte du nœud enfant
}
}