一个C++的 XML 解析程序

来源:互联网 发布:大数据 百度云盘 编辑:程序博客网 时间:2024/05/16 09:31

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;
}
原创粉丝点击