XML
来源:互联网 发布:手机淘宝账号怎么登录 编辑:程序博客网 时间:2024/05/01 09:03
<?xml version="1.0" encoding="GBK" standalone="yes" ?>
<bluesea version="2" name="config" author="yangb">
<skin current="black">
<item name="default" caption="系统默认">100</item>
<item name="black" caption="黑色" >200</item>
</skin>
</bluesea>
三个概念
元素:bluesea 、skin 、item
属性:current、name、caption
值:100、200
元素bluesea有有元素skin,元素skin有元素item
没有值时可以这样写:
<?xml version="1.0" encoding="GBK" standalone="yes" ?>
<bluesea version="2" name="config" author="yangb">
<skin current="black">
<item name="default" caption="系统默认"/>
<item name="black" caption="黑色" />
</skin>
</bluesea>
常用tinyxml解析,发现了他一个很好的优点
char xmlstr[30] = { '<', '?', 'x', 'm', 'l', ' ', 'v', 'e', 'r', 's', 'i', 'o', 'n', '=', '\"', '1', '.', '0', '\"', '?', '>', '<', 'h', '>', 'df', '<', '/', 'h', '>', 'a'};
TiXmlDocument docRsp;
docRsp.Parse(xmlstr);
刚好30个字节,前面29个是完整的xml格式,第30个是‘a’,然后解析成功了
从网络中接收数据到的数据为混合模式,前一段为xml数据,后一段是二进制数据,传送的时候xml数据没有加‘\0’,
有了tinyxml的这一有点,就很好了,直接把xml数据的头指针给Parse就可以了。不知道其他的xml库是否也一样的,反正这个很好啊