• 关于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;

    }

  • 相关阅读:
    解决百度网盘倍速需要会员问题
    npm run dev其实就是vue-cli-service serve
    git常见操作和git原理
    ajax promise三种状态
    ajax get请求
    vue2.0x methods中一个函数调用另外一个函数
    Web前端开发规范之文件存储位置规范
    大数据应用期末总评
    分布式文件系统HDFS 练习
    安装Hadoop
  • 原文地址:https://www.cnblogs.com/yuzhould/p/4454959.html
Copyright © 2020-2023  润新知