首页 > 其他 > 详细

利用TinyXML解析XML文件

时间:2014-05-22 23:27:58      阅读:545      评论:0      收藏:0      [点我收藏+]

下载地址:TinyXML

解压缩TinyXML后,找到六个文件:

tinystr.h、tinystr.cpp、tinyxml.h、tinyxml.cpp、tinyxmlerror.cpp、tinyxmlparser.cpp

将这六个文件放在你的C++工程中,跟你的源文件在同一目录下。

新建一个XML文件,命名为Students.xml :

<Class name="计算机软件班">
  <Students>
    <student name="张三" studentNo="13031001" sex="男" age="22">
      <phone>88208888</phone>
      <address>西安市太白南路二号</address>
    </student>
    <student name="李四" studentNo="13031002" sex="男" age="20">
      <phone>88206666</phone>
      <address>西安市光华路</address>
    </student>
  </Students>
</Class>

新建一个C++文件,用于解析Students.xml :(C++文件,XML文件,以及之前六个文件,都是在同一目录下)

C++文件包含两个头文件:#include "tinyxml.h"  和  #include "tinystr.h" 便可使用TinyXMl了

#include "tinyxml.h"
#include "tinystr.h"
#include <iostream>
#include <string>
using std::string;

int main()
{
	TiXmlDocument* myDocument = new TiXmlDocument();
	myDocument->LoadFile("Students.xml");
	TiXmlElement* rootElement = myDocument->RootElement();  //Class
	TiXmlElement* studentsElement = rootElement->FirstChildElement();  //Students
	TiXmlElement* studentElement = studentsElement->FirstChildElement();  //Students
	while ( studentElement ) {
		TiXmlAttribute* attributeOfStudent = studentElement->FirstAttribute();  //获得student的name属性
		while ( attributeOfStudent ) {
			std::cout << attributeOfStudent->Name() << " : " << attributeOfStudent->Value() << std::endl;
			attributeOfStudent = attributeOfStudent->Next();
		}
		TiXmlElement* phoneElement = studentElement->FirstChildElement();//获得student的phone元素
		std::cout << "phone" << " : " << phoneElement->GetText() << std::endl;
		TiXmlElement* addressElement = phoneElement->NextSiblingElement();
		std::cout << "address" << " : " << phoneElement->GetText() << std::endl;
		studentElement = studentElement->NextSiblingElement();
	}
	system("pause");
	return 0;
}


结果乱码,不知为何
bubuko.com,布布扣


利用TinyXML解析XML文件,布布扣,bubuko.com

利用TinyXML解析XML文件

原文:http://blog.csdn.net/gateway6143/article/details/26510137

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!