zoukankan      html  css  js  c++  java
  • xml学习

    一,数据类型
    xmlChar 
      对char的基本代替,是一个UTF-8编码字符串中的一个字节。如果你的数据使用了其他编码,在使用libxml函数前就必须转换为UTF-8。
    xmlDoc和xmlDocPtr
      是一个包含了从解析文档后创建出的树的结构。xmlDocPtr是指向该结构的指针。
    xmlNode和xmlNodePtr 
      包含单个节点的结构。xmlNodePtr是指向该结构的指针,它用来遍历文档树。
    。。。。
     
     
    二,常用函数
    xmlDocPtr xmlParseFile(char *filename)       // 解析文件
    char *xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int inLine)  //获取具体内容
     
    xmlStrcmp(const CHAR *str1, const CHAR *str2)
    。。。。
     
    三,实例
     1 {
     2  xmlDocPtr doc;
     3  xmlChar *value;
     4  doc = xmlParseFile(filename);
     5  if (NULL == doc) {
     6      printf( "[GUI]XML Document '%s' parse error.
    ", filename);
     7      return -1; 
     8  }
     9 
    10  xmlNodePtr root = doc->root;
    11  if (root == NULL) {
    12      printf( "[GUI]XML Document empty
    ");
    13      xmlFreeDoc(doc);
    14      return -1;
    15  }
    16  if(doc->encoding) {
    17      value = (xmlChar *)doc->encoding;
    18      if(0 == xmlStrcmp((const CHAR *)"utf8", (const CHAR *)value)) {
    19          printf("[GUI] xml encoding utf8");
    20   } 
    21  }
    22 
    23  xmlNodePtr cur = root->xmlChildrenNode;
    24  while (cur) {
    25     if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) {
    26      key = xmlNodeListGetString(cur->doc, cur->xmlChildrenNode, 1); 
    27      printf("keyword: %s
    ", key);
    28      xmlFree(key);
    29    } 
    30    cur = cur->next;
    31  }
    32     return;
    33 
    34 }
     
     
     

     

  • 相关阅读:
    在Windows7下启动MongoDB服务的解决方案
    Spring MVC之@RequestBody, @ResponseBody 详解
    Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解
    SpringMVC+Shiro权限管理
    Spring中@Async用法总结
    当spring 容器初始化完成后执行某个方法
    Java四种线程池的使用
    JavaWeb动态导出Excel可弹出下载
    kinderEditor + Struts2整合
    请求webservice接口的某方法数据
  • 原文地址:https://www.cnblogs.com/chencesc/p/4351001.html
Copyright © 2011-2022 走看看