xml精选
XML(eXtensible Markup Language)是万维网联盟(World Wide Web Consortium W3C)定义的一种可扩展标志语言。
可扩展性指允许用户按照XML规则自定义标记(tags 标签)。
强项:轻松表达多层结构的数据;可扩展。
优点:平台无关,语言无关。设计目标是描述数据并集中于数据的内容,与显示分离。
提醒:不能用XML来直接写网页。即便是包含了XML数据,依然要转换成HTML格式才能在浏览器上显示。
语法规则:
XML文件有且仅有一个根标记,其他标记必须封装在根标记中,文件的标记必须形成树状结构。
大小写敏感。
标记的属性必须用""或''括起来。
XML细节:
一、 声明
大多数XML文档以XML声明作为开始,它向解析器提供了关于文档的基本信息。
建议使用XML声明,但它不是必需的。如果有的话,那么它一定是文档的第一行内容。
如:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
声明最多可以包含三个名称-值对(许多人称它们为属性,尽管在技术上它们并不是)。
<?xml 问号与xml之间不能有空格。
1)version 是使用的XML 版本:1.0, 1.1
2)encoding 是该文档所使用的字符集。该声明中引用的ISO-8859-1 字符集包括大多数西欧语言用到的所有字符。
默认字符在UTF-8字符集中,这是一个几乎支持世界上所有语言的字符和象形文字的Unicode 标准。
3)standalone(可以是yes 或no)定义了是否孤立处理该文档。
如果XML文档没有引用任何其它文件,则可以指定 standalone="yes"。
如果XML文档引用其它描述该文档可以包含什么的文件(如DTD),则 standalone="no"。默认值为"no"
二、 标记
左尖括号“<“和右尖括号“>“之间的文本
1. 在< >中的称为开始标记;在</ >中的称为结束标记
2. 空标记:不包含元素的标记。空标签必须以&
相关文档:
Dom4J是一个开源的优秀的XML解析API,现在越来越多的项目中开始采用这种解析方式,其中包含了著名的Hibernate。这里我们使用Dom4J解析一个带命名空间的CXF的Spring配置文件。先导入dom4j-1.6.1.jar
spring 配置文件 applicationContext-cxf.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=" ......
我是使用的CMarkup类对XML进行操作。
CMarkup好象都是先从一个xml文件里面把内容读出来,再进行解析,搞得我恨不得要把我的CString写到xml文件里面再取出来了。
  ......
加载外部的XML文件,文件名是1.xml;
<?xml version="1.0" encoding="utf-8"?>
<website>
<name a="名字1">周小川1</name>
<name a="名字2">周小川2</name>
<name a="名字3">周小川3</name>
<name a="名字4">周小川4</name>
<name a="名字5"> ......
try { //Internet Explorer
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(data);
} catch(e) { //Other Browsers
parser=new DOMParser();
xmlDoc=parser.parsefromString(data,"text/xml");
} ......
第一种方式--使用MSXML2.DOMDOCUMENT.4.0
创建xmldoc对象,并装载一个xml
Set xmldoc = CreateObject("MSXML2.DOMDOCUMENT.4.0")
xmldoc.loadXML ("一个具体的XML实体")
选择需要筛选的结点
Set nodeList = xmldoc.selectNodes("//*[count(ancestor::*)= 2]") '根节点的第二代后代
Set nodeList = xmldoc ......