• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

学而精

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

XML的编写

XML:

  1. 起始:<section src="madonna.jpg"【属性】> 结束:</section> 空白:<section />。 任何的起始标签都必须有一个结束标签

  2. 注释:"<!--" and end with "-->". 

  3. 区分大小写。

  4. XML 的属性值须加引号。

  5. 拥有特殊意义的字符如"<" 和 "&", 要用实体引用。 <message>if salary &lt; 1000 then</message> 

    对照表:【&lt; represents "<"】【&gt; represents ">"】【&amp; represents "&"】【&apos; represents '】【&quot; represents " 】

  6. XML名称可以为字母、数字以及其他的字符。不能包含空格,不能以xml,数字或者标点符号开头

  7. 拥有正确语法的 XML 被称为“形式良好”(Well Formed)的 XML。遵守上述 XML 语法规则。

  8. 通过 DTD 验证的 XML 是“合法”的 XML。合法的 XML 文档是“形式良好”的 XML 文档,同样遵守文档类型定义 (DTD) 的语法规则.

    DTD 的作用是定义 XML 文档的结构。它使用一系列合法的元素来定义文档结构。 如<!DOCTYPE note SYSTEM "Note.dtd">

    XML Schema是以XML语言为基础的,它用于可替代DTD。 一份XML schema文件描述了XML文档的结构。(http://baike.baidu.com/view/1032417.htm)

 

python实现:

用lxml:

  1. from lxml import etree as ET

  2. 根节点:root = ET.Element('background'【标签】)

  3. 子节点:starttime = ET.SubElement(root【父节点】, 'starttime'【标签】)

  4. 内容:hour.text = '00'

  5. 转为String: ET.tostring(root【根节点】, pretty_print=True【排版】, xml_declaration=True,encoding="UTF-8")

  6. 写入文本:

    ee = ET.ElementTree(root)
    tree.write('output.xml', pretty_print=True, xml_declaration=True,encoding="UTF-8")

View Code
root = ET.Element('background')
starttime = ET.SubElement(root, 'starttime')
hour = ET.SubElement(starttime, 'hour') 
hour.text = '00'
minute = ET.SubElement(hour,'minute')
minute.text = '00'
second = ET.SubElement(starttime, 'second')
second.text = '01'

print ET.tostring(root, pretty_print=True, xml_declaration=True,encoding="UTF-8")
# write to file:
tree = ET.ElementTree(root)
tree.write('output.xml', pretty_print=True, xml_declaration=True,encoding="UTF-8")

用XMLWriter:

View Code
from elementtree.SimpleXMLWriter import XMLWriter
import sys

w=XMLWriter(sys.stdout)
text=w.start("root")
w.start("head")
w.element("title","HAHAHAHAHA")
w.end()
w.start("body")
w.start("inbody")
w.element("b","bbbb")
w.end("inbody")
w.end("body")
w.close(text)

用minidom:

View Code
from xml.dom import minidom
import sys

doc=minidom.Document()
root=doc.createElement("root")
doc.appendChild(root)

asset=doc.createElement("asset")
root.appendChild(asset)
assettext=doc.createTextNode("hahahahaha")
asset.appendChild(assettext)
text=doc.toprettyxml(indent='')
print text
f=('xml.xml','w')
#doc.writexml(f,  encoding="utf-8") 
#f.close()

posted on 2012-07-14 11:48  Songhan  阅读(781)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3