XML简单读写

本文介绍如何使用XML进行文档操作,包括获取特定节点如书籍标题、添加新的书籍记录、以及通过属性进行查找等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

- <bookstore>
- <book genre="autobiography" publicationdate="1991" 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>

 doc.Load("..//books.xml");
1)得到节点<title>清单!
  //get only the nodes that we want.
      XmlNodeList nodeLst=doc.GetElementsByTagName("title");
也可以
       XmlNodeList nodeLst=doc.SelectNodes("/bookstore/book/title");

      //iterate through the XmlNodeList
      foreach(XmlNode node in nodeLst)
        listBox1.Items.Add(node.InnerText);

2)增加节点
    //create the declaration section
      XmlDeclaration newDec=doc.CreateXmlDeclaration("1.0",null,null);
      doc.AppendChild(newDec);
      //create the new root element
      XmlElement newRoot=doc.CreateElement("newBookstore");
      doc.AppendChild(newRoot);
   XmlElement newBook=doc.CreateElement("book");
      //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);
      doc.DocumentElement.AppendChild(newBook);

3)  查找

 string srch="Bookstore/book[title='" + listBox1.SelectedItem.ToString() + "']";
      XmlNode foundNode=doc.SelectSingleNode(srch);
      if(foundNode!=null)
        MessageBox.Show(foundNode.InnerText);
      else
        MessageBox.Show("Not found");
     

==================

根据属性查找:

 XmlNode nodeQ = xmlDoc.SelectSingleNode("/BookStore");
 XmlNode node = nodeQ.SelectSingleNode("book[@publicationdate='" + sName + "']");

点到其它节点value:

sISBN = node.Attributes["ISBN"].Value

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值