文档详情

XML学习笔记(二).doc

发布:2018-02-02约1.34万字共18页下载文档
文本预览下载声明
什么是 XML 元素? XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。 元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。 bookstore book category=CHILDREN titleHarry Potter/title authorJ K. Rowling/author year2005/year price29.99/price /book book category=WEB titleLearning XML/title authorErik T. Ray/author year2003/year price39.95/price /book /bookstore 在上例中,bookstore 和 book 都拥有元素内容,因为它们包含了其他元素。author 只有文本内容,因为它仅包含文本。 在上例中,只有 book 元素拥有属性 (category=CHILDREN)。XML 元素命名规则 XML 元素必须遵循以下命名规则: 名称可以含字母、数字以及其他的字符 名称不能以数字或者标点符号开始 名称不能以字符 “xml”(或者 XML、Xml)开始 名称不能包含空格 可使用任何名称,没有保留的字词。 最佳命名习惯 使名称具有描述性。使用下划线的名称也很不错。 名称应当比较简短,比如:book_title,而不是:the_title_of_the_book。 避免 - 字符。如果您按照这样的方式进行命名:first-name,一些软件会认为你需要提取第一个单词。 避免 . 字符。如果您按照这样的方式进行命名:,一些软件会认为 name 是对象 first 的属性。 避免 : 字符。冒号会被转换为命名空间来使用(稍后介绍)。 XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素。 非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。XML 元素 vs. 属性 请看这些例子: person sex=female firstnameAnna/firstname lastnameSmith/lastname /person person sexfemale/sex firstnameAnna/firstname lastnameSmith/lastname /person 在第一个例子中,sex 是一个属性。在第二个例子中,sex 则是一个子元素。两个例子均可提供相同的信息。 没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素。我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。 我最喜欢的方式 下面的三个 XML 文档包含完全相同的信息: 第一个例子中使用了 date 属性: note date=08/08/2008 toGeorge/to fromJohn/from headingReminder/heading bodyDont forget the meeting!/body /note 第二个例子中使用了 date 元素: note date08/08/2008/date toGeorge/to fromJohn/from headingReminder/heading bodyDont forget the meeting!/body /note 第三个例子中使用了扩展的 date 元素(这是我的最爱): note date day08/day month08/month year2008/year /date toGeorge/to fromJohn/from headingReminder/heading bodyDont forget the meeting!/body /note 因使用属性而引起的一些问题: 属性无法包含多重的值(元素可以) 属性无法描述树结构(元素可以) 属性不易扩展(为未来的变化) 属性难以阅读和维护 请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。 不要做这样的蠢事(这不是 XML 应该被使用的方式): note day=08 month=08 year=2008 to=George from=John heading=Reminder body=Dont forget the meeting! /note 有时候会向元素分配 ID 引用。这些 ID 索引可用于标识 XML 元素
显示全部
相似文档