XML学习笔记(二)——XML元素与属性
XML 元素
元素命名
XML元素必须遵守以下的命名规则:
名字可包含字母、数字以及其他的字符
名字不能以数字或者标点符号开始
名字不能以字符“xml”(或者XML、Xml)开始
名字不能包含空格
当您“发明创造”元素名称时,请留意并遵循下面的简单的规则:
您可以使用除保留字外的任何名称,但是理想的做法是使名称具有描述性。使用下划线的名称也是不错的。
例子: <first_name>,<last_name>
应该在名称中避免"-"和"."。比方说,如果您将某个元素命名为"first-name",那么当您的软件试图从first段来提取名称时可能会出现混乱的局面。或者如果您将某个元素命名为"first.name",您的软件也许会认为"name"是"first"对象的一个属性。
元素名称可以是你希望的任何长度,但是也不要太夸张。名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book>。
XML文档经常有一个对应的数据库,其中的域会对应XML文档中的某个元素。有一个实用的经验,即使用数据库的名称规则命名XML文档中的元素。
非英语的字母比如éòá也是合法的XML元素名,不过需要注意当软件开发商不支持字母时出现的问题。
不应在XML元素名称中使用":",这是由于它是用于被称作命名空间(namespaces)的保留字。
XML元素之间是有关系的
元素之间有父与子的关系。
为了理解XML的术语,我们需要了解XML之间的关系是如何命名的,以及元素的内容是如何被描述的。
下面是一个用XML文档描述的一本书:
<book><title>我的第一个XML</title><prod id="33-657" media="paper"></prod><chapter>XML 简介<para>HTML 的概念</para><para>XML 的概念</para></chapter><chapter>XML 的语法<para>元素必须拥有关闭标签</para><para>元素必须被正确地嵌套</para></chapter></book>
book(书)是根元素。Title、prod以及chapter是book的子元素。book是Title、prod以及chapter的父元素。Title、prod以及chapter是兄弟元素或者姐妹元素,这是因为它们都拥有相同的父母。
元素拥有内容
元素可以拥有不同的内容类型。
一个XML元素由(且包括)元素的开始标签起始,到(且包括)元素的结束标签终止。
一个元素可以拥有元素内容、混合型内容、简易内容或者空内容。元素也可以拥有属性。
相关文档:
private void WriteXML()
{
StringBuilder sb = new StringBuilder();
sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?> ");
sb.Append(" <!-- ");
sb.Append("<content>");
sb.Append(& ......
1)DOM(JAXP Crimson解析器)
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DO ......
(第1章)
(P1~3)1.用自己的语言对SGML、HTML和XML作简单介绍和对比。
SGML 是一种采用标记来描述文档数据的通用语言,SGML定义了基本的语法好,同时也允许用户建立自己的元素标记。
HTML 采用了很小一部分SGML的标记,同时HTML采用的是固定标记也不需要包含DTD。
XML 同HTML一样,都是出自于SGML标准通用标记语 ......
任何ORM的解决方案都应该提供一种易读的、容易编辑的映射文件格式,而不仅仅提供一个GUI图形工具。当下流行的对象/关系元数据格式都支持XML。使用XML格式的文件可以提供如下好处:首先它是轻量级的,提供很好的易读性,能够进行版本控制,可以在部署阶段定制。
但是XML格式文件真的是最好的选择吗?Java社团中就反对XML ......
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath(NetShop.Config.DbConfigs.GetSitePath + "images/flashdata/flash.config"));
DataRow[] drs = ds.Tables[0].Select("", "[SortOrder] ASC");
//返回的是个DataRow[]:
//DataR ......