您的位置:首页 > 编程语言 > C语言/C++

一个C++的 XML 解析程序

2006-07-21 10:07 513 查看
http://iridia.ulb.ac.be/~fvandenb/tools/xmlParser.html



这里下载 http://iridia.ulb.ac.be/~fvandenb/download.php?id=43

下面是一个示例



xml 文件 在 http://iridia.ulb.ac.be/~fvandenb/tools/xmlParser.html

程序

#include <stdio.h>    // to get "printf" function
#include <stdlib.h>   // to get "free" function
#include "xmlParser.h"

int main(int argc, char **argv)
{
  // 载入xml

XMLNode xMainNode=XMLNode::openFileHelper("PMMLModel.xml","PMML");

  // this prints "RANK For <you>":
  XMLNode xNode=xMainNode.getChildNode("Header");
  printf("Application Name is: '%s'/n", xNode.getChildNode("Application").getAttribute("name"));
  
  // this prints "Hello world!":
  printf("Text inside Header tag is :'%s'/n", xNode.getText());

  // this gets the number of "NumericPredictor" tags:
  xNode=xMainNode.getChildNode("RegressionModel").getChildNode("RegressionTable");
  int n=xNode.nChildNode("NumericPredictor");

  // this prints the "coefficient" value for all the "NumericPredictor" tags:
  for (int i=0; i<n; i++)
    printf("coeff %i=%f/n",i+1,atof(xNode.getChildNode("NumericPredictor",i).getAttribute("coefficient")));

  // this prints a formatted ouput based on the content of the first "Extension" tag of the XML file:
  char *t=xMainNode.getChildNode("Extension").createXMLString(true);
  printf("%s/n",t);
  free(t);
  return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: