XML 操作

None.gif using  System; 
None.gif
using  System.Collections; 
None.gif
using  System.ComponentModel; 
None.gif
using  System.Data; 
None.gif
using  System.Drawing; 
None.gif
using  System.Web; 
None.gif
using  System.Web.SessionState; 
None.gif
using  System.Web.UI; 
None.gif
using  System.Web.UI.WebControls; 
None.gif
using  System.Web.UI.HtmlControls; 
None.gif
using  System.Xml; 
None.gif
private  XmlDocument xmlDoc; 
None.gif
None.gif
// load xml file 
None.gif
private   void  LoadXml() 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gifxmlDoc
=new XmlDocument(); 
InBlock.gifxmlDoc.Load(Server.MapPath(
"User.xml")); 
ExpandedBlockEnd.gif}
 
None.gif
None.gif
// 添加节点 
None.gif
private   void  AddElement() 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif
InBlock.gifLoadXml(); 
InBlock.gif
InBlock.gifXmlNode xmldocSelect
=xmlDoc.SelectSingleNode("user"); 
InBlock.gif
InBlock.gifXmlElement el
=xmlDoc.CreateElement("person"); //添加person节点 
InBlock.gif
el.SetAttribute("name","风云"); //添加person节点的属性"name" 
InBlock.gif
el.SetAttribute("sex",""); //添加person节点的属性 "sex" 
InBlock.gif
el.SetAttribute("age","25"); //添加person节点的属性 "age" 
InBlock.gif

InBlock.gifXmlElement xesub1
=xmlDoc.CreateElement("pass"); //添加person节点的里的节点 
InBlock.gif
xesub1.InnerText="123";//设置文本节点 
InBlock.gif
el.AppendChild(xesub1); 
InBlock.gifXmlElement xesub2
=xmlDoc.CreateElement("Address"); 
InBlock.gifxesub2.InnerText
="昆明";//设置文本节点 
InBlock.gif
el.AppendChild(xesub2); 
InBlock.gif
InBlock.gifxmldocSelect.AppendChild(el); 
InBlock.gifxmlDoc.Save(Server.MapPath(
"user.xml")); 
InBlock.gif
ExpandedBlockEnd.gif}
 
None.gif
None.gif
None.gif
None.gif
// 修改节点 
None.gif
private   void  UpdateElement() 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gifLoadXml(); 
InBlock.gifXmlNodeList nodeList
=xmlDoc.SelectSingleNode("user").ChildNodes;//获取bookstore节点的所有子节点 
InBlock.gif
foreach(XmlNode xn in nodeList)//遍历所有子节点 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gifXmlElement xe
=(XmlElement)xn;//将子节点类型转换为XmlElement类型 
InBlock.gif
if(xe.GetAttribute("name")=="风云")//如果name属性值为“风云” 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gifxe.SetAttribute(
"name","发明"); 
InBlock.gif
InBlock.gif
InBlock.gif
//如果下面有子节点在下走 
InBlock.gif
XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点 
InBlock.gif
foreach(XmlNode xn1 in nls)//遍历 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gifXmlElement xe2
=(XmlElement)xn1;//转换类型 
InBlock.gif
if(xe2.Name=="pass")//如果找到 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gifxe2.InnerText
="66666";//则修改 
InBlock.gif
break
InBlock.gif
ExpandedSubBlockEnd.gif}
 
ExpandedSubBlockEnd.gif}
 
InBlock.gif
InBlock.gif
break
ExpandedSubBlockEnd.gif}
 
ExpandedSubBlockEnd.gif}
 
InBlock.gifxmlDoc.Save(Server.MapPath(
"user.xml"));//保存 
ExpandedBlockEnd.gif
}
 
None.gif
None.gif
// 删出节点 
None.gif
private   void  deleteNode() 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif
InBlock.gifLoadXml(); 
InBlock.gifXmlNodeList xnl
=xmlDoc.SelectSingleNode("user").ChildNodes; 
InBlock.gif
InBlock.gif
foreach(XmlNode xn in xnl) 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gifXmlElement xe
=(XmlElement)xn; 
InBlock.gif
InBlock.gif
if(xe.GetAttribute("name")=="发明"
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gif
//xe.RemoveAttribute("name");//删除name属性 
InBlock.gif
xe.RemoveAll();//删除该节点的全部内容 
InBlock.gif

InBlock.gif
InBlock.gif
break
ExpandedSubBlockEnd.gif}
 
InBlock.gif
ExpandedSubBlockEnd.gif}
 
InBlock.gifxmlDoc.Save(Server.MapPath(
"user.xml"));//保存 
ExpandedBlockEnd.gif
}
 
None.gif
None.gif
private   void  showIt() 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gifLoadXml(); 
InBlock.gifXmlNode xn
=xmlDoc.SelectSingleNode("user"); 
InBlock.gif
InBlock.gifXmlNodeList xnl
=xn.ChildNodes; 
InBlock.gif
InBlock.gif
foreach(XmlNode xnf in xnl) 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gifXmlElement xe
=(XmlElement)xnf; 
InBlock.gif
// Console.WriteLine(xe.GetAttribute("name"));//显示属性值 
InBlock.gif
// Console.WriteLine(xe.GetAttribute("sex")); 
InBlock.gif
// 
InBlock.gif
// XmlNodeList xnf1=xe.ChildNodes; 
InBlock.gif
// foreach(XmlNode xn2 in xnf1) 
InBlock.gif
// { 
InBlock.gif
// Console.WriteLine(xn2.InnerText);//显示子节点点文本 
InBlock.gif
// } 
InBlock.gif

ExpandedSubBlockEnd.gif}
 
InBlock.gif
ExpandedBlockEnd.gif}

From:Internet
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以使用xmltodict库来操作XML文件。该库提供了将XML文件解析为Python字典对象的功能,以及将Python字典对象转换为XML文件的功能。你可以使用xmltodict库中的parse()函数将XML字符串解析为Python字典对象,然后使用json库中的dumps()函数将Python字典对象转换为JSON字符串。同样地,你也可以使用xmltodict库中的unparse()函数将Python字典对象转换为XML字符串。下面是一个示例代码: ```python import xmltodict import json def json_to_xml(python_dict): """将JSON转换为XML""" xml_str = xmltodict.unparse(python_dict) return xml_str def xml_to_json(xml_str): """将XML转换为JSON""" xml_parse = xmltodict.parse(xml_str) json_str = json.dumps(xml_parse, indent=1) return json_str # 读取JSON文件并转换为XML文件 JSON_PATH = './test.json' with open(JSON_PATH, 'r') as f: json_file = f.read() python_dict = json.loads(json_file) with open(JSON_PATH\[:-4\] + 'xml', 'w') as newfile: newfile.write(json_to_xml(python_dict)) # 读取XML文件并转换为JSON文件 XML_PATH = './1.xml' with open(XML_PATH, 'r') as f: xml_file = f.read() with open(XML_PATH\[:-3\] + 'json', 'w') as newfile: newfile.write(xml_to_json(xml_file)) ``` 以上代码演示了如何将JSON文件转换为XML文件和将XML文件转换为JSON文件。你可以根据自己的需求进行相应的操作。希望对你有帮助!\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [一起来分析Python怎么操作XML文件](https://blog.csdn.net/wboy_/article/details/124663368)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值