Chinaunix首页 | 论坛 | 博客
  • 博客访问: 517914
  • 博文数量: 137
  • 博客积分: 3170
  • 博客等级: 中校
  • 技术积分: 1455
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-17 11:47
文章分类

全部博文(137)

文章存档

2015年(2)

2013年(1)

2012年(6)

2011年(5)

2010年(62)

2009年(61)

我的朋友
XML

分类: 服务器与存储

2010-05-25 16:10:29

以下主要节选自:

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)

xmlns="namespaceURI"


<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;
}


阅读(804) | 评论(0) | 转发(0) |
0

上一篇:perl DBI DBD 安装

下一篇:mysql日志管理

给主人留下些什么吧!~~