XML理解, XML与ini比较

前端之家收集整理的这篇文章主要介绍了XML理解, XML与ini比较前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

XML理解,XMLini比较

1.ini文件

ini文件就是用来记录一些参数,或者说配置使用的.操作很方便.

但也有缺点,就是ini格式记录的参数在ini文件中的联系是很弱的,参数间的联系需要通过代码来完成,但容易出错.

例如:我要记录一个数组的数据,ini你可以这样做

[vector]

count=4

V1="a"

V2="b"

V3="c"

V4="d"

V5="e"

你的程序需要这么做:

1.先读取count的值,

2.使用一个循环读取V1--V5的值.

3.把读取到的V1---V5的值填入你自己的数据结构中.

容易出错的地方:

1.如果增加一个V6,count需要跟着修改.(如果遇到很复杂的结构,修改一处而引起其他地方也需要修改的话,很容易犯错误.)

2.Ini中的参数的关系需要代码来完成,如果ini的数据改变了,代码可能要变化很大.

3.如果下面的数据结构在ini中保存怎么做.

structSTTest

{

std::vector<int>m_vectorInt;

std::list<double>m_listDouble;

};

structSTGood

{

STTestm_stTest[10];

};

Ini很难把数据结构的层次关系描述出来,你必须通过代码实现,而且你的解析代码还要跟着ini,ini一但需要变化,你的代码就要跟着变,当到遇上一些复杂的结构时就更复杂了.(因为我做个这样的笨事情!!!!!!!!!!!!!!!!!!!!!!!).

2.XML

XML的格式就是一个树结构,标签--属性--值的属性可以很好的描述数据结构,甚至可以把变量名也描述出来,可以序列化一个对象,可以记录传输数据表的记录等等).

记得刚刚接触XML的时候,自己借了一本超市行业的XML的书.是的,就是超市行业的.当初我借书的目的是为了学习XML的结构,属性,标签.所以看那本书根本看不懂,因为那本书讲述的并不是XML的格式教程,而是讲述超市行业中传输数据是使用XML格式来传输的,讲述了其传输的XML的各个标签的意义等.(我借错书了.)

我的理解XML是一种数据格式,是一种存储数据的格式,是一种载体.而各个行业使用XML,但是各个行业的XML标签,便签属性是不一样的.相当于使用PHP技术可以做一个行业网站,但是各行业的网站的内容是不一样的(使用技术是一样的). 我也可以定义自己的标签,如果全世界都用你的标签,那你的标签可以成为标准了

3.XML的使用

structSTTest

{

std::vector<int>m_vectorInt;

std::list<double>m_listDouble;

};

structSTGood

{

STTestm_stTest[10];

};

@H_966_403@<structure_def> <struct name = "STTest"> <member type = "std::vector<int>" name = "m_vectorInt"> <value>0</value> <value>1</value> <value>2</value> <value>3</value> <value>4</value> </member> <member type = "std::list<double>" name = "m_listDouble"> <value>0.1</value> <value>1.1</value> <value>2.1</value> <value>3.1</value> <value>4.1</value> <value>5.1</value> </member> </struct> <struct name = "STGood"> <member type = "STTest" name = "m_stTest"> </member> </struct> </structure_def>@H_936_404@

这里就很好的反映了数据结构的层次关系了 . 不过使用代码去解析这个数据结构也是有点痛苦的 .XML 的层次结构变了 , 代码还是需要修改 .
原文链接:https://www.f2er.com/xml/300170.html

猜你在找的XML相关文章