以下主要节选自:
1.XML(EXtensible Markup Language) 指可扩展标记语言
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准
XML 被设计用来传输和存储数据。HTML 被设计用来显示数据。注意xml设计的初衷!!!
2.XML 是独立于软件和硬件的信息传输工具。
George John Reminder Don't forget the meeting!
|
第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)
第二行:根元素,及4个子元素。所有元素均可拥有文本内容和属性(类似 HTML 中)。XML 的属性值须加引号
3.XML 标签对大小写敏感
4.xml的注释方法
5.
XML 以 LF 存储换行
在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。在 Unix 应用程序中,新行以 LF 字符存储。而 Macintosh 应用程序使用 CR 来存储新行。
6.XML 元素是可扩展的,也就是我们如果扩展了xml文档的内容,那么以前的应用程序也不会因此而崩溃。
7. HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。
8. 反复理解:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。
9. DTD(Document Type Definition)
为什么使用DTD?
通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。
通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。
而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。
您还可以使用 DTD 来验证您自身的数据。
10. XML Schema
XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 描述 XML 文档的结构。
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。
11. XML Namespace (xmlns) 属性
xmlns:namespace-prefix="namespaceURI"
|
<f:table xmlns:f="">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
|
默认的命名空间(Default Namespaces)
<table xmlns="">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
|
#include <zlib.h>
#include <string.h>
#include<iostream>
#include<fstream>
#include <sstream>
using namespace std;
int main()
{
std::ifstream in("tmptmptmp.xml");
std::ostringstream tmp;
tmp << in.rdbuf();
std::string srcstr = tmp.str();
// std::cout << strstr;
//char writeStr[200] = "1 2 3 4 5 6 7 8 9 0";
// FILE* pFile = fopen ("arrayOfStructsTest.xml","rw");
gzFile fd = gzopen("packed.xml.gz", "w6h");
gzwrite( fd, srcstr.c_str() , srcstr.size());
gzclose (fd );
return 0;
}
|
阅读(841) | 评论(0) | 转发(0) |