XML 命名空间(XML Namespaces)
XML 命名空间可提供避免元素命名冲突的方法。
命名冲突
由于 XML 中的元素名是预定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。
这个 XML 文档携带着某个表格中的信息:
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
这个 XML 文档携带有关桌子的信息(一件家具):
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的 <table> 元素,就会发生命名冲突。
使用前缀来避免命名冲突
此文档带有某个表格中的信息:
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
此 XML 文档携带着有关一件家具的信息:
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
现在,命名冲突不存在了,这是由于两个文档都使用了不同的名称来命名它们的 <table> 元素 (<h:table> 和 <f:table>)。
通过使用前缀,我们创建了两种不同类型的 <table> 元素。
使用命名空间(Namespaces)
这个 XML 文档携带着某个表格中的信息:
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
此 XML 文档携带着有关一件家具的信息:
<f:table xmlns:f="http://www.w3school.com.cn/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
与仅仅使用前缀不同,我们为 <table> 标签添加了一个 xmlns 属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称。
XML Namespace (xmlns) 属性
XML 命名空间属性被放置于某个元素的开始标签之中,并使用以下的语法:
xmlns:namespace-prefix="namespaceURI"
当一个命名空间被定义在某
相关文档:
Flex 和C++ 之间传输结构体数据
一直想试验用结构体传数据
但是Flex 和C++ 的类型所占的字节数有时不一样
如int 在C++中站2个字节,而在Flex中占4个字节。
转换比较麻烦。
最后决定用XML进行传输
然后两边都加一个XML 解析和封装类。
C++ 端使用的tinyXML 类
Flex直接使用自己带的 E4X 类
Flex代码如下
&nb ......
<?xml version="1.0" encoding="UTF-8"?>
<company>
<tel>020-12345678-66</tel>
<tel>020-12345678-85</tel>
<introduce>
<![CDATA[
<br/><h1>公司简介& ......
xml文件如下 配置功能开关
<Configurations>
<Samples>true</Samples>
<Excepts>true</Excepts>
<CheckFace>false</CheckFace>
<ThumbNail>false</ThumbNail>
&nbs ......
今天对XML文件进行了一些简单的读写操作,下面来具体实现步骤:
首先:建立一个基于Dialog的MFC工程,工程名为OperateXML,然后在对话框上添加两个按钮("Create"和"GetData"和一个ListControl
控件(用来显示数据),首先要导入库文件
#import "msxml3.dll"
using namespace MSXML2;
主要用来实现XML文件的相关操作,
......
XML是门学问。要学的话。也需要用心。
简单的了解下。。
例子:所有节点字段几乎自己构造。
<?xml version="1.0" encoding="utf-8" ?><!--这个是标识。。指定版本。。指定编码读写>
<ShowList>
<Movie>
<Name>功夫</Name>
<Poster>gongfu. ......