首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C用libxml2获取元素的未知属性值,该怎么处理

2012-11-12 
C用libxml2获取元素的未知属性值bookpage588, size16K,这个book节点只是xml的一部分,book节点是从

C用libxml2获取元素的未知属性值
<book page="588", size="16K">,
这个book节点只是xml的一部分,book节点是从网络上接收到的。
其中的page的值,size的值都有可能随时变化,
现在要获得这个page,size的值,你用libxml2的api的话,
是要元素的值是确定的,那这个不确定的值怎么获得啊?

[解决办法]
page size这2个tag不变化 就应该可以的吧。
值变化应该不影响的。
你在试试
[解决办法]
<book page="588", size="16K">
中间有逗号不符合xml格式吧?
page和size的值要作为属性要读写.writeAttributes
[解决办法]

C/C++ code
#include <stdio.h>#include <libxml/parser.h>#include <libxml/tree.h>int main(int argc, char *argv[]){    xmlChar xmlbuf[] =         "<?xml version=\"1.0\" encoding=\"gb2312\"?>"        "<book page=\"588\" size=\"16K\"/>";    xmlDocPtr doc;    xmlNodePtr node;    xmlAttrPtr attr;    xmlChar *data;    doc = xmlParseDoc(xmlbuf);    node = xmlDocGetRootElement(doc);    attr = node->properties;    while (attr) {        data = xmlGetProp(node, attr->name);        printf("name=%s data=%s\n", attr->name, data);        xmlFree(data);        attr = attr->next;    }    xmlFreeDoc(doc);    return 0;} 

热点排行