zoukankan      html  css  js  c++  java
  • 关于libXml的读取

    图XML

     

    输出XML_TEXT_NODE 图


    不输出XML_TEXT_NODE


    这样的一个xml,竟然会读到text这种节点,两种节点类型XML_TEXT_NODE和XML_ELEMENT_NODE

    XML_TEXT_NODE的名称读到默认就是text,XML_ELEMENT_NODE节点的名称是自己起好的名字,

    感觉和之前使用过的tinyXml不太一样,tinyXml每次都到的都是XML_ELEMENT_NODE,不会凭空读到

    XML_TEXT_NODE这种节点,至少让我分析的时候产生一些困惑。

    #defineXML_VAR_NODE_STR "StatusCode"

    bool ReadStatusXml::loadXmlFile(const char * xmlFIle)

    {

    xmlDocPtrxmlDoc;

    xmlNodePtrxnRootNode, xnVariable, xnStatusCode;

    xmlDoc = ::xmlParseFile(xmlFIle);

    if (! xmlDoc)

    {

    printf("error");

    return false;

    }

    xnRootNode = ::xmlDocGetRootElement(xmlDoc);

        printf("%s\n", xnRootNode->name);

    if (! xnRootNode)

    {

    ::xmlFreeDoc(xmlDoc);

    return false;

    }

    xnVariable = xnRootNode->xmlChildrenNode;

    if (! xnVariable)

    {

    ::xmlFreeDoc(xmlDoc);

    return false;

    }

    while(xnVariable)

    {

    if (!xmlStrcmp(xnVariable->name, BAD_CAST XML_VAR_NODE_STR)) //通过节点名称来过滤XML_TEXT_NODE

    //if(xnVariable->type == XML_ELEMENT_NODE) //通过类型来过滤XML_TEXT_NODE

    {

    printf("  %s\n", xnVariable->name);

    LoadXmlStatusCode(xnVariable);

    }

    xnVariable = xnVariable->next;

    }

    xmlFreeDoc(xmlDoc);

    return true;

    }

  • 相关阅读:
    github提交代码403
    针对七牛含有特殊字符的文件名,对特殊字符编码处理
    去除字符串所有空格
    按关键词匹配度排序
    服务器监控-Zabbix
    数据同步
    字符串-占位符
    Redis序列化
    Redis监听回调
    时间计算
  • 原文地址:https://www.cnblogs.com/yuzhould/p/4454959.html
Copyright © 2011-2022 走看看