Heim >Backend-Entwicklung >XML/RSS-Tutorial >Detaillierte Schritte für XmlDocument-Objektoperationen

Detaillierte Schritte für XmlDocument-Objektoperationen

PHPz
PHPzOriginal
2017-03-12 15:55:462273Durchsuche

Es ist sehr praktisch, das Dokument mit dem Attribut -Wert zu durchlaufen. Zu diesem Zeitpunkt können Sie XmlDokumentObjekt verwenden, um das zu ändern Dokumentieren Sie, indem Sie die DOM-Methode aufrufen und dann speichern. Da DOM standardisiert ist, wird es von vielen Sprachen unterstützt, z als GetElementByID(), GetElementByTagName(), App endChild(),InsertAfter() usw.1 Erstellen Sie eine XML-Datei

2. Das Einfügen von Knoten ähnelt dem Erstellen einer XML-Datei

XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(dec);
 XmlElement root = doc.CreateElement("bookstore");//创建根节点
doc.AppendChild(root);
 XmlElement newBook = _doc.CreateElement("book");//create a new 'book' element
//set some attributes
newBook.SetAttribute("genre", "Mystery");      newBook.SetAttribute("publicationdate", "2001");      newBook.SetAttribute("ISBN", "123456789");
//create a new 'title' element
XmlElement newTitle = _doc.CreateElement("title");      newTitle.InnerText = "Case of the Missing Cookie";      newBook.AppendChild(newTitle);
 //create new author element
XmlElement newAuthor = _doc.CreateElement("author");      newBook.AppendChild(newAuthor);
//create new name element      XmlElement newName = _doc.CreateElement("name");      newName.InnerText = "Cookie Monster";      newAuthor.AppendChild(newName);
     //create new price element      XmlElement newPrice = _doc.CreateElement("price");      newPrice.InnerText = "9.95";      newBook.AppendChild(newPrice);      //add to the current documentdoc.DocumentElement.AppendChild(newBook);//_doc.DocumentElement为获取xml的根
doc.Save("bb.xml");将 XML 文档保存到指定的位置
3. Ändern Sie den XML-Knoten

Ändern Sie den Genrewert des Knotens mit dem Genreattributwert „Roman“ in „Updateroman“. und ändern Sie den Text des untergeordneten Knotens des Knotens in „la la la la“.
_doc.Load("books.xml");      XmlElement newBook = _doc.CreateElement("book");      newBook.SetAttribute("genre", "Mystery");      newBook.SetAttribute("publicationdate", "2001");      newBook.SetAttribute("ISBN", "123456789");      XmlElement newTitle = _doc.CreateElement("title");      newTitle.InnerText = "Case of the Missing Cookie";      newBook.AppendChild(newTitle);      XmlElement newAuthor = _doc.CreateElement("author");      newBook.AppendChild(newAuthor);      XmlElement newName = _doc.CreateElement("name");      newName.InnerText = "Cookie Monster";      newAuthor.AppendChild(newName);      XmlElement newPrice = _doc.CreateElement("price");      newPrice.InnerText = "9.95";      newBook.AppendChild(newPrice);      _doc.DocumentElement.AppendChild(newBook);
_doc.Save("booksEdit.xml");
或者下面这样保存      XmlTextWriter tr = new XmlTextWriter("booksEdit.xml", null);//将xml文档保存,如果存在此文件,则覆盖      tr.Formatting = Formatting.Indented;      _doc.WriteContentTo(tr);
tr.Close();

4.

Löschen Sie das Genreattribut des Knotens

und löschen Sie den Knoten.
XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点 foreach(XmlNode xn in nodeList)//遍历所有子节点 { XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型 if(xe.GetAttribute("genre")=="novel")//如果genre属性值为“李赞红” { xe.SetAttribute("genre","updatenovel");//则修改该属性为“update李赞红” XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点 foreach(XmlNode xn1 in nls)//遍历 { XmlElement xe2=(XmlElement)xn1;//转换类型 if(xe2.Name=="title")//如果找到 { xe2.InnerText="亚胜";//则修改 break;//找到退出来就可以了 } } break; } } 
xmlDoc.Save("bookstore.xml");//保存。

5. Traverse xml


XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes; 
foreach(XmlNode xn in xnl) 
{ 
XmlElement xe=(XmlElement)xn; 
if(xe.GetAttribute("genre")=="fantasy") 
{ 
xe.RemoveAttribute("genre");//删除genre属性 
} 
else if(xe.GetAttribute("genre")=="update李赞红") 
{ 
xe.RemoveAll();//删除该节点的全部内容 
} 
} 
xmlDoc.Save("bookstore.xml");

Das obige ist der detaillierte Inhalt vonDetaillierte Schritte für XmlDocument-Objektoperationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn