创建XML文件的两种方法

//注意 using System.Xml;

方法一:按照XML的结构一步一步的构建XML文档.
    通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的
    XmlText xmltext ;
    XmlDocument xmldoc = new XmlDocument( ) ;
 
    //加入XML的声明段落
    XmlNode xmlnode =xmldoc.CreateXmlDeclaration("1.0","gb2312",null);
    xmldoc.AppendChild ( xmlnode ) ;
 
    //加入一个根元素
    XmlElement xmlelem = xmldoc.CreateElement ( "" , "bookstore" , "" ) ;
    xmltext = xmldoc.CreateTextNode ( "" ) ;
    xmlelem.AppendChild ( xmltext ) ;
    xmldoc.AppendChild ( xmlelem ) ;
    
    //加入一个子元素
    XmlElement xmlelem1 = xmldoc.CreateElement ( "" , "book" , "" ) ;
    xmltext = xmldoc.CreateTextNode ( "" ) ;
    xmlelem1.AppendChild (xmltext) ;
    //为子元素"book"增加两个属性
    xmlelem1.SetAttribute("genre","","fantasy");
    xmlelem1.SetAttribute("ISBN","2-3631-4");

    xmldoc.ChildNodes.Item(1).AppendChild (xmlelem1) ;
    
    //创建三个子元素的子元素
    XmlElement  xmlelem2 = xmldoc.CreateElement ( "" , "title" , "" ) ;
    xmltext = xmldoc.CreateTextNode ( "Oberon's Legacy" ) ;
    xmlelem2.AppendChild ( xmltext ) ;
    xmldoc.ChildNodes.Item(1).AppendChild ( xmlelem1 ).AppendChild(xmlelem2) ;
 
    XmlElement xmlelem3 = xmldoc.CreateElement ( "" , "author" , "" ) ;
    xmltext = xmldoc.CreateTextNode ( "Corets, Eva" ) ;
    xmlelem3.AppendChild ( xmltext ) ;
    xmldoc.ChildNodes.Item(1).AppendChild ( xmlelem1 ).AppendChild(xmlelem3) ;
 
    XmlElement xmlelem4 = xmldoc.CreateElement ( "" , "price" , "" ) ;
    xmltext = xmldoc.CreateTextNode ( "5.95" ) ;
    xmlelem4.AppendChild ( xmltext ) ;
    xmldoc.ChildNodes.Item(1).AppendChild ( xmlelem1 ).AppendChild(xmlelem4) ;
    xmldoc.Save ( @"C:/Inetpub/wwwroot/MyAspnet/bin/bookstore.xml") ; //保存

方法二:直接定影XML文档,然后保存到文件。
        通过"XmlDocument"类中的"LoadXml"方法
    XmlDocument xmldoc = new XmlDocument ( ) ; //创建空的XML文档
    xmldoc.LoadXml("<?xml version='1.0' encoding='gb2312'?>"+
     "<bookstore>"+
     "<book genre='fantasy' ISBN='2-3631-4'>" +
     "<title>Oberon's Legacy</title>" +
     "<author>Corets, Eva</author>"+
     "<price>5.95</price>"+
     "</book>"+
     "</bookstore>");
    xmldoc.Save ( @"C:/Inetpub/wwwroot/MyAspnet/bin/bookstore.xml") ; //保存

=======================以上两种方法产生如下的XML文档===========================
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="fantasy" ISBN="2-3631-4">
    <title>Oberon's Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
</bookstore
>

比较:第一种创建起来更加灵活,而第二种创建起来更加方便。

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Python生成XML文件,可以使用xml.dom.minidom模块或xml.etree.ElementTree模块。 在xml.dom.minidom模块中,可以使用Document类来创建XML文档对象,然后使用createElement()、appendChild()和createTextNode()等方法创建元素和文本节点,并将它们添加到文档中。最后,可以使用toprettyxml()方法文档格式化为字符串或将其写入文件。以下是一个使用xml.dom.minidom模块创建XML文件的示例代码: ```python from xml.dom.minidom import Document doc = Document() root = doc.createElement("root") doc.appendChild(root) element = doc.createElement("element") text = doc.createTextNode("This is a test!") element.appendChild(text) root.appendChild(element) xml_str = doc.toprettyxml(indent=" ") with open("output.xml", "w") as f: f.write(xml_str) ``` 在xml.etree.ElementTree模块中,可以使用ElementTree类来创建XML文档对象,然后使用Element()和SubElement()等方法创建元素,并使用text属性设置元素的文本内容。最后,可以使用ElementTree的write()方法文档写入文件。以下是一个使用xml.etree.ElementTree模块创建XML文件的示例代码: ```python import xml.etree.ElementTree as ET root = ET.Element("root") element = ET.SubElement(root, "element") element.text = "This is a test!" tree = ET.ElementTree(root) tree.write("output.xml") ``` 以上是两种常用的方法生成XML文件的示例代码。你可以根据自己的需求选择其中一种方法来使用。 #### 引用[.reference_title] - *1* [怎么用python创建文件-如何用Python创建生成xml文档文件的方法](https://blog.csdn.net/weixin_37988176/article/details/109417617)[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^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python学习(十四):Python如何创建一个xml文件](https://blog.csdn.net/weixin_43580890/article/details/129343510)[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^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值