xml语法基础

1.xml直观样式

XML是最理想的树状数据结构的存储方式。
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
上面的例子是w3c提供的经典例子。
第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。一般情况下,我们使用UTF-8。
XML 文档必须包含根元素。该元素是所有其他元素的父元素。XML有且仅有一个根元素。例子中<note></note>是根元素。

容易忽略的问题:
1.XML标签对大小写敏感
2.标签中的属性值必须加引号
3.xml 是DTD 或者 schema 验证的

2.xml命名空间

xml的命名空间的作用和其他语言的命名空间的作用是一样的。

当有多个XML文件内容需要交织在一起使用的时候,不同的DTD验证之间会因为有很多同名的内容产生冲突。于是,引入命名空间的概念就避免了冲突。

<?xml version="1.0" encoding="GB2312"?>
<k:客户名单  xmlns:k="http://foo.bar.com/xml/customer.dtd"xmlns:职工="http://foo.bar.com/xml/employee.dtd"><k:客户> <!-- 客户甲 --><k:名称>新祥发</k:名称><k:地址>...</k:地址><k:电话>...</k:电话><fax>...</fax><k:连系人><职工:姓名>...</职工:姓名><职工:电话><职工:分机>...</职工:分机><职工:大哥大>...</职工:大哥大></职工:电话><职工:email>...</职工:email></k:连系人></k:客户><!-- 客户乙 --><客户 xmlns="http://foo.bar.com/xml/customer.dtd"><名称>同仁堂</名称><地址>...</地址><电话>...</电话><fax>...</fax><连系人><职工:姓名>...</职工:姓名><电话 xmlns="http://foo.bar.com/xml/employee.dtd"><分机>...</分机><大哥大>...</大哥大></电话><职工:email>...</职工:email></连系人></客户>
</k:客户名单>

 XML 命名空间属性被放置于元素的开始标签之中,并使用以下的语法:

xmlns:namespace-prefix="namespaceURI"

解释一下上面一句话的意思:1.xmlns:xmlNameSpace     2.namespace-prefix:一个标志符   3. 统一资源标识符(Uniform Resource Identifier (URI),一般就是网址

还有就是默认命名空间。如果没写标识符,那么相当于设置了默认命名空间。在xml行文的过过程中,如果再次碰到了无名的命名空间那么,第二次的默认命名空间会覆盖第一次的命名空间。

 

参考资料:
W3C网站:http://www.w3school.com.cn/x.asp
《无废话XML》作者是台湾人,成书年代大概在1998-2000年。








转载于:https://www.cnblogs.com/fengkuangshubiaodian/archive/2013/04/14/3020761.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring map使用annotation泛型注入问题分析

今天在整一个spring的ioc学习demo&#xff0c;碰到一个问题&#xff0c;居然Autowire在set方法注入map时&#xff0c;map的key类型不能为String之外的其他类型&#xff0c;具体看下面问题 Autowiredpublic void setTypeMap(Map<Integer,String> typeMap) {this.typeMap …

(JAVA)Object类之toString()和equals()

Object类&#xff1a;存储于java.lang包中&#xff0c;有构造方法&#xff0c;无super 一.toString():返回该对象的字符串表示-----String类型&#xff0c;输出类型中&#xff0c;默认调用toString()1.public String toString() {return getClass().getName() "" I…

(JAVA)Object类之Scanner

/* Scanner类&#xff1a;使用正则表达式解析基本类型和字符串的简单文本扫描器 一.源代码&#xff1a;public final class Scanner implements Iterator<String>, Closeable {...}1.不允许继承2.使用时必须导入包 import java.util.Scanner&#xff1b; jdk1.5以上版本才…

序列化 小复习

想要序列化一个对象则需要使其继承serializable或者externalizable接口 一下是一个实例小程序&#xff1a; ser_test 1 import java.io.*;2 3 public class ser_test{4 public static void main(String[] args) throws Exception{5 person p1 new person(1,1.2,&q…

(JAVA)Object类之String类

/* 字符串&#xff1a; 一、概述&#xff1a;1.字符串在JAVA中&#xff0c;使用""表示2.java.lang.String类3.只要写""就是字符串对象。不需要new二、空参构造器new Sting();private final char value[];public String() {this.value "".value;…

(JAVA)String类之比较方法

/* 字符串&#xff1a; 一、概述&#xff1a;1.字符串在JAVA中&#xff0c;使用""表示2.java.lang.String类3.只要写""就是字符串对象。不需要new二、空参构造器new Sting();private final char value[];public String() {this.value "".value;…

云计算之路-黎明前的黑暗:20130424网站故障经过

一、背景 4月18日的访问高峰扛过去之后&#xff0c;我们和阿里云一直在努力寻找问题的真正原因。是问题&#xff0c;躲不去的&#xff0c;不找到根源&#xff0c;随时会突然袭击。 压力测试未能重现问题&#xff0c;只能进行大海捞针般的猜测&#xff1a;SLB&#xff08;均衡均…

hdu2955 Robberies (动态规划之背包)

http://acm.hdu.edu.cn/showproblem.php?pid2955 题意&#xff1a;Roy想要抢劫银行&#xff0c;每家银行多有一定的金额和被抓到的概率&#xff0c;知道Roy被抓的最大概率P&#xff0c;求Roy在被抓的情况下&#xff0c;抢劫最多。 分析&#xff1a;被抓概率可以转换成安全概率…

黑马Java学习笔记之-----集合框架

---------------------- android培训、java培训、期待与您交流&#xff01; ---------------------- 一&#xff0e;概述&#xff1a; Java的集合类是一种特别有用的工具类&#xff0c;它可以用于存储数量不等的多个对象&#xff08;实际上是对象的引用&#xff09;&#xff0c…