软件测试

一、什么是XML?:

XML指可扩展标记语言

XML是一种标记语句,很类似HTML

XML标签没有被预定义,需要自行定义标签

二、XML和HTML的差异:

1.XML为不同的目的而设计
2.XML被设计为传输和存储数据,其焦点是数据的内容,HTML被设计用来显示数据, 其焦点是数据的外观
3.XML意在传输信息,而HTML意在显示信息

三、XML的特点

1.XML可以自定义标签

<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
上例中的标签没有在任何XML标准中定义过,比如<to><from>这些标签都是有作者自己发明的

2.XML必须包含根元素

XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。

<?xml version="1.0" encoding="UTF-8" ?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

如上所示,

XML文件的根元素为note,剩下的4行描述的是根的子元素

所有的XML标签都必须有关闭标签,在XML中省略标签是非法的,所有的元素都必须有关闭标签

如下所示:

<p>This is a paragraph</p>
<p>This is another paragraph</p>

3.XML标签对大小写敏感

	XML 标签对大小写敏感。在 XML 中,标签 <Letter> 与标签 <letter> 是不同的。
必须使用相同的大小写来编写打开标签和关闭标签:
<Message>这是错误的。</message> <message>这是正确的。</message>
XML必须正确的嵌套:如下所示:由于 <i> 元素是在 <b> 元素内打开的,那么它必须在 <b> 元素内关闭。
<b><i>This text is bold and italic</i></b>

4.XML 的属性值须加引号

与 HTML 类似,XML 也可拥有属性(名称/值的对)。

在 XML 中,XML 的属性值须加引号。请研究下面的两个 XML 文档。第一个是错误的,第二个是正确的:

<note date=08/08/2008>
<to>George</to>
<from>John</from>
</note>
<note date="08/08/2008">
<to>George</to>
<from>John</from>
</note>

在第一个文档中的错误是,note 元素中的 date 属性没有加引号。

5.标签可以自由命名

6.标签成对出现

7.标签可以重名

四、XML 中的注释

1.在 XML 中编写注释的语法与 HTML 的语法很相似:

<!-- This is a comment -->

五、什么是 XML 元素?

1.XML 元素

XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。

元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。

<bookstore>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title>Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore> 在上例中,<bookstore> 和 <book> 都拥有元素内容,因为它们包含了其他元素。<author> 只有文本内容,因为它仅包含文本。
在上例中,只有 <book> 元素拥有属性 (category="CHILDREN")。

六、XML 命名规则

XML 元素必须遵循以下命名规则:

1.名称可以含字母、数字以及其他的字符

2.名称不能以数字或者标点符号开始

3.名称不能以字符 “xml”(或者 XML、Xml)开始

4.名称不能包含空格

七、XML读取文本和打开文件

1.xml读取文本

	from xml.dom import minidom

2.xml打开文件

	root =minidom.parse(filepath)
firstnode =root.getElementsByTagName(onenode)[0]
secondnode=firstnode.getElementsByTagName(twonodee)[0].firstChild.data

随机推荐

  1. mybatis笔记1 基本的配置和操作

    mybatis比较轻量,适合开发比较小型的或者业务比较复杂的系统: 相对于hibernate来说可以灵活的写sql,更灵活的处理遇到的业务逻辑: 可以说hibernate是pojo实体对db的orm映 ...

  2. 云计算之路-阿里云上:消灭“黑色n秒”第三招——禁用网卡的TCP/IP Offload

    程咬金有三板斧,我们有三招.在这篇博文中我们要出第三招,同时也意味着昨天在“希望的田野”上的第二招失败了. 前两招打头(CPU)不凑效,这一招要换一个部位,但依然要坚持攻击敌人最弱(最忙最累)部位的原 ...

  3. 一张图告诉你为什么 Gmail 是最好的邮箱,以及大量私货

    今天早上,我的同事详细介绍了 Gmail 相比其他邮箱的优势,比如强大的垃圾邮件过滤.简单的使用界面.强大的功能设置等等.但是对我来说,这些并不是我使用 Gmail 的最重要原因. 我第一个正式的邮箱 ...

  4. Oracle EBS-SQL (PO-6):检查订单接收总数.sql

    SELECT sum(rcvt.quantity) 接收事务处理汇总数--已排除退货 --rsh.receipt_num                   收据号, --pov.vendor_nam ...

  5. [转载] ASP.NET MVC4使用百度UEDITOR编辑器

    前言 配置.net mvc4项目使用ueditor编辑器,在配置过程中遇见了好几个问题,以此来记录解决办法.编辑器可以到http://ueditor.baidu.com/website/downloa ...

  6. viewpager+layout布局文件随数据多少创建滑动页面

    近期在做一个答题类型的APP,而其中最重要的是答题卡.而答题卡要如何做? 1.将数据插入到SQLite数据库中 2.建立entity实体包,创建实体类,封装. 3.创建实体与view的List集合 4 ...

  7. 【Bad Practice】12306 query

  8. LCA&amp;最小生成树

    LCA 经常被用来使用.比如询问树两点之间的距离. 比如树上差分 都是经常被使用的类型.有的时候倍增求LCA的同时还可以优化算法. 这道题呢 求一个严格的最小生成树,当然如果不严格的话如果有重边那么就 ...

  9. POJ - 3252 A - Round Numbers

    The cows, as you know, have no fingers or thumbs and thus are unable to play Scissors, Paper, Stone' ...

  10. Using C++11 function &amp; bind

    The example of callback in C++11 is shown below. #include <functional> void MyFunc1(int val1, ...