XML

Posted qinzhihaovip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML相关的知识,希望对你有一定的参考价值。

1.什么是xml

可扩展标记语言(Extensible Markup Language),是一种很像html的标记语言,但是HTMl是用来显示语言,但是Xml是用来传输和存储数据的,是一种非常灵活地语言,没有固定的标签,需要自行的定义标签,他被设计为具有自我描述性,是W3C的推荐的标准

2.XML的格式

》声明信息

》必须有且只有一个根元素

》xml是大小写敏感的

》标签式成对的,而且是要正确的嵌套的

》属性值是要使用双引号的

》xml中的注释是和html中的一样的

<?xml version="1.0" encoding="UTF-8" ?>
<!-- 这里是注释 -->
<books>

<book id = "b01">
     <name>java高级编程</name>
    <author>MIKE</author>
     <price>50.5</price>
</book>

<book id = "b02">
     <name>C#高级编程</name>
    <author>KOKO</author>
     <price>20.3</price>
</book>

</books>

但是,值得注意的是,xml中的事可以随意书写的,只要满足了上面的要求,这也是xml的灵活性,但是,也要有所限制,

才能更好的存储和传输数据,DTD和XSD定义语义约束

 

》》所以一个有效地xml

1).首先必须是格式良好地

2).使用DTD或者是XSD(XML Schema)定义语义约束

 

2.DTD

》Document Type Definition ,文档类型定义

》用来约束xml的文档格式,保证他是一个有效地xml

》DTD分为两种,一种是外部DTD。另一种是内部DTD

内部DTD

<!DOCTYPE 根元素 [元素声明]>

  元素声明语法

<!ELEMENT 元素名 (子元素 [, 子元素...])>

数量词

》+ ? * 

+是出现一次或者是多次

?是出现0次或者是一次

*是出现任意次数

》》元素的属性

CDATA  : 表示字符数据

默认值: #REQUIRED 表示必须出现

#IMPLIED 表示不是必须出现的

<!ATTLIST 元素名 属性名称 属性类型 默认值>

 

<?xml version="1.0" encoding="UTF-8" ?>
<!-- 声明内部DTD -->
<!DOCTYPE books [

<!-- 声明元素 -->
<!ELEMENT books (book*)>
<!ELEMENT book (name,author,price)>

<!-- 声明属性 -->
<!ATTLIST book id CDATA #REQUIRED>
]>
<books>

<book id = "b01">
     <name>java高级编程</name>
    <author>MIKE</author>
     <price>50.5</price>
</book>

<book id = "b02">
     <name>C#高级编程</name>
    <author>KOKO</author>
     <price>20.3</price>
</book>

</books>

》》如果只允许在标签中指能出现文本,而不允许出现其他的标签,那么就要用到PCDATA

<!ELEMENT book (#PCDATA)> 这样在book标签之间就不允许出现标签了,而是只能出现文本了

 

外部DTD

a.创建一个独立的dtd文件

语法和规则和内部的dtd是一模一样的,但是不用写<!DOCTYPE>这个标签中,

其他都是一样的。

b.现在只需要引入这个外部dtd文件就可以了

<!DOCTYPE books SYSTEM "ddd.dtd">

即:<!DOCTYPE 根元素  SYSTEM “文件名">

>>而且值得注意的是,在dtd文件中,书写的格式也是非常关键的,特别是空格,有的时候,空格也是必须的

以上是关于XML的主要内容,如果未能解决你的问题,请参考以下文章

需要示例代码片段帮助

从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration

创建片段而不从 java 代码实例化它

如何组合绑定片段而不将它们包装在 XML 文字中

我们可以在活动 xml 中编写 UI 以及在片段 xm 中编写 UI 吗?

VS中添加自定义代码片段——偷懒小技巧