个人日记:XML追加和覆盖内容,将XML某位置的子标签或者属性,文本删除

这篇博客介绍了如何使用Java的SAXReader和DocumentHelper进行XML文档的修改。主要内容包括如何添加XML子标签和属性,以及如何删除指定属性或标签。通过建立新文档并覆盖原文档的方式实现修改,同时提供了追加内容的实现方式。
摘要由CSDN通过智能技术生成

XML添加子标签:
这里使用的是覆盖,即通过建立新文档读取旧文档的属性然后进行添加,最后覆盖原文档完成修改。
如果想要使用添加的话,那么使用document doc=documenthelper.creatdocument;代码建立新的文档,然后进行写入想要添加的内容,最后在输出流 
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(f), format);这里format改为boolean append,即为追加而不是覆盖
 

public static void add() throws DocumentException, IOException {
        SAXReader saxReader = new SAXReader();
        Document doc = saxReader.read(new File("C:\\Users\\Administrator\\IdeaProjects\\day24\\src\\HW4\\Test.XML"));

        //添加三星手机属性
        Element rootElement = doc.getRootElement();//找到根节点
        Element el = rootElement.addElement("brand");//在根节点下建立brand节点  根据需求在想要的地方建立
        //给brand节点赋值
        el.addAttribute("name","sumsang");
        //给标签赋属性和属性值
        Element type = el.addElement("Type");

如果需要源码可以发送邮件到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、付费专栏及课程。

余额充值