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

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;
}