XML 入门必读
1.什么是XML?
XML 开发者们会告诉你,事实上XML并不是一种语言,而是一种用来定义其它语言的系统。可能你已经听过,或许甚至自己尝试过一些这样的语言??比如微软为推(push)技术所推出的频道定义格式(Channel Definition Format)。
W3C是互连网上一些公用标准的开发者,他推出了一系列和XML相关的标准和草案。他们把XML描叙成“一种用来表达结构化数据的通用语法”。所谓结构化数据是指被标签(tags)定义了其内容,意义和用法的数据。例如,在HTML的定义中,<H1>标签所定义的文本,将会用一种特定的字体和大小所显示出来。一个XML标签会明确的确定一种信息: <AUTHOR>标签可能表示的是文档的作者,而<PRICE>则可能包含了产品的价格。与HTML中标签所不同的是:XML标签的含义是自定义的,如果你愿意,可以用<PRICE>来表示作者信息,而用<AUTHOR>来表示产品价格。虽然这看起来会很别扭,但绝对是正确的。
通过分离结构和数据,一份XML文档能够一经写出,就能应用在多种不同的用途:在计算机屏幕上显示出来,或者显示在手机屏幕上,又或者被转到为盲人设计的语音设备上,等等,诸多功用,不一而足。它几乎能够工作在任何可能的通讯设备上。这时候,一个XML文档的作用,已经远远超出了当初你所以为的那样,仅仅是用来显示内容的简单文档了。这样,XML就能够在除了互连网的其它地方也能够一展身手。
在一些大型的文档制作商中,SGML是他们用了很多年的语言,但是它实在是太复杂了,仅仅是定义就有400多页。XML的出现也为他们创造了一些契机。事实上XML是SGML的一个精简了的子集,SGML的大部分工作都可以由XML来完成,而XML比起SGML来却是简单了许多。
当然,平台无关的XML最初是为Web所设计的,它也将在在Web上产生最大的影响。
DOM(Domument Object Model)是一个编程接口,他定义了在一个文档中如何进行数据存取的机制。XML能够为Web所做的,很大程度上取决于它是如何同DOM(文档对象模型)进行交互。
使用DOM,程序员可以用一种标准的方法来动态的操作文档的内容和相关的一些属性。换句话说,程序员可以让在一个浏览器的文档对象树中的一段内容进行一些特定的动作。例如:当把鼠标移到一小段文字上面时,它会改变颜色。网景的Navigator和微软 Internet Explorer都定义了个不相容的DOM,但是这两个公司都宣布在他们下一个版本的浏览器中会支持W3C的标准DOM
相关文档:
这是一个用c#控制台程序下, 用XmlDocument 进行XML操作的的例子,包含了查询、增加、修改、删除、保存的基本操作。较完整的描述了一个XML的整个操作流程。适合刚入门.net XML操作的朋友参考和学习。
假设有XML文件:books.xml
Xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<books>
< ......
以前在博客上发过,经人提醒DataSet已自带读写XML的功能,于是便删了,
不过在实践中感觉封装一层后,使用起来还是蛮方便的。故再次重发。
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.IO;
using System.Xml;
namespace XmlDesign
{
class XmlDatasetC ......
VC++中操作XML(MFC、SDK)
2009年01月07日 星期三 22:33
XML在Win32程序方面应该没有在Web方面应用得多,很多
Win32程序也只是用XML来存存配置信息而已,而且没有足够
的好处的话还不如用 ini。VC++里操作XML有两个库可以用:
MSXML和XmlLite。MSXML又细分了两种接口:DOM和SAX2。XP没自带有 XmlLite,只自带有2.x、3 ......
import java.io.File;
import java.util.concurrent.CountDownLatch;
import com.sleepycat.db.Environment;
import com.sleepycat.db.EnvironmentConfig;
import com.sleepycat.db.LockDetectMode;
import com.sleepycat.dbxml.XmlContainer;
import com.sleepycat.dbxml.XmlContainerConfig;
im ......