学习XML(修改一个节点)

本文详细介绍了如何使用VB.NET修改XML文件中的特定节点。具体操作包括定位到genre为'comedy'的book节点,将其genre属性更改为'update comedy',并更新对应的author子节点值为'pipi'。最后,文章提醒读者保存修改并讨论了XML文件加载过程中的注意事项。
摘要由CSDN通过智能技术生成

        这一篇文章描述如何修改XML文件中的一个节点。

        接上一篇文章,采用bookstore.xml,该文件中现在已经有两个book子节点,现在修改genre属性为comedy的book节点,将该genre属性改为 update comedy,并将该book节点的author子节点的值改为pipi。

        1.仍然定义一个读取xml文件的变量:

         Dim xmlDoc as New XmlDocument

         xmlDoc.Load("bookstore.xml")

         2.定义一个xml文件的节点列表:nodelist,获取根节点

           Dim nodeList as XmlNodeList =xmlDoc.SelectSingleNode("bookstore").ChildNodes

         3.循环查找该节点列表,找出genre属性为comedy的节点:

          Dim xnode as XmlNode      //申明两个节点变量

          Dim xe as XmlElement

          For  Each xnode In nodeList           //vb的foreach循环语句与c#的稍有不同

                 xe =CType(xnode,XmlElement)          //将节点类型转换为XmlEment

                 if (xe.GetAttribute("genre")="comedy") Then         //获取该节点的genre属性值,并与“comedy”比较

          

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果需要源码可以发送邮件到sdiwen1982@sohu.com索取 /*************************************** 功能:读取xml文件 参数:[in] xml文件路径 返回:true读取成功 false读取失败 **************************************/ bool ReadXml(CString sXmlPath /*xml文件路径*/); /*************************************** 功能:写入xml文件 参数:[in] xml文件路径 返回:true写入成功 false写入失败 **************************************/ bool WriteXml(CString sXmlPath /*xml文件路径*/); /*************************************** 功能:释放空间 参数:无 返回:无 **************************************/ void Release(); /*************************************** 功能:删除指定的节点 参数:无 返回:true删除成功 false删除失败 **************************************/ bool DeleteNode(); /*************************************** 功能:删除当前节点的所有子节点,当前节点不删除 参数:无 返回:true删除成功 false删除失败 **************************************/ bool DeleteAllSon(); /*************************************** 功能:根据索引删除子节点 参数:无 返回:true删除成功 false删除失败 **************************************/ bool DeleteSonByIndex(unsigned int nIndex); /*************************************** 功能:删除节点所有属性 参数:无 返回:true删除成功 false删除失败 **************************************/ bool DeleteAllAttr(); /*************************************** 功能:根据属性名删除属性 参数:无 返回:true删除成功 false删除失败 **************************************/ bool DeleteAttrByName(CString sName); /*************************************** 功能:根据索引删除属性 参数:无 返回:true删除成功 false删除失败 **************************************/ bool DeleteAttrByIndex(unsigned int nIndex); /*************************************** 功能:根据属性名设置属性值 参数:[in] sName 属性名 [in] sValue 属性值 返回:true设置成功 false设置失败 **************************************/ bool SetAttrValueByName(CString sName, CString sValue); /*************************************** 功能:插入属性 参数:[in] sName 属性名 [in] sValue 属性值 返回:true插入成功 false插入失败 **************************************/ bool InsertAttr(CString sName, CString sValue); /*************************************** 功能:设置节点值 参数:[in] sValue 属性值 返回:true设置节点值成功 false设置节点值失败 **************************************/ bool SetNodeValue(CString sValue); /*************************************** 功能:插入子节点 参数:[in] sName 节点名 返回:非空表示插入节点成功,返回插入的新节点指针 空表示插入失败 **************************************/ CXMLNode * InsertNode(CString sName); /*************************************** 功能:判断是否存在子节点 参数:[in] pNode节点文件指针, 返回:false没有子节点 true有子节点 **************************************/ bool HasChild(MSXML2::IXMLDOMNodePtr pNode);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值