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 }
     
     
     

     

  • 相关阅读:
    数据类型的总结
    typeof加括号和不加括号的区别
    排序
    数据类型分为哪两类
    css中需要更小的字体如何实现
    一些细节注意点
    数值转换题
    如何用分支结构计算年份
    Scout YYF I
    D. AND, OR and square sum
  • 原文地址:https://www.cnblogs.com/chencesc/p/4351001.html
Copyright © 2011-2022 走看看