C++中处理XML文件

环境是vs2010+Windows 7。

  timyxml库我是在这里下载的,直接就能编译,编译后得到tinyxml.lib。

  使用时当然也需要tinyxml.h文件。

  如果不想编译,这里能下载我编译好的lib,顺便附赠h文件。

  我程序中解析的xml文件在这里能找到。

代码如下:

#include <iostream>
#include <string>
#include "tinyxml.h"
using namespace std;
#pragma comment(lib,"tinyxml.lib")

int main()
{
const char * xmlFile = "lianxi.xml";
TiXmlDocument doc;
doc.LoadFile(xmlFile);
// doc.Print(); //输出xml文件看看

TiXmlElement* firstLevel=doc.RootElement();
cout<<firstLevel->Value()<<":"<<endl;

/*
某些情况会用注释的这些内容
比如:
<menu name="123" num="456">
</menu>

TiXmlAttribute *firstAtt=firstLevel->FirstAttribute();
while (firstAtt!=NULL)
{
cout<<firstAtt->Name()<<":"<<firstAtt->Value();
firstAtt=firstAtt->Next();
}
*/

TiXmlElement* secondLevel=firstLevel->FirstChildElement();
while(secondLevel!=NULL)
{
cout<<" ";
cout<<secondLevel->Value()<<":"<<endl;

TiXmlElement* thirdLevel=secondLevel->FirstChildElement();
while(thirdLevel!=NULL)
{
cout<<" ";
cout<<thirdLevel->Value()<<":"<<thirdLevel->GetText()<<endl;

thirdLevel=thirdLevel->NextSiblingElement();
}
secondLevel=secondLevel->NextSiblingElement();
}

cin.get();
return 0;
}

时间: 2024-08-07 06:30:59

C++中处理XML文件的相关文章

maven新建Spring MVC + MyBatis + Oracle的Web项目中pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion&

报表XML导出rtf格式,结果在浏览器中打开XML文件。用360浏览器下载rtf文件打开后出现Authentication failed 问题

报表XML导出rtf格式,结果在浏览器中打开XML文件.用360浏览器下载rtf文件打开后出现Authentication failed 问题 直接上问题图: 问题描述:在Oracle EBS中执行"资源事务处理 XML"请求,选择输出rtf格式,完成后查看输出,却在浏览器中打开了XML文件.        提示:需要检查一下是否有对应的模板文件和模板定义有效时间.        解决方案:1. 查看日志. 从中可以看出出错原因,以及模板代码.2. 添加Oracle XML Publi

关于Struts2中struts.xml文件分层问题

没事折腾struts2,遇到异常,浪费好长时间,于是干脆把所有可能的异常都给跑一遍,来个痛快的. 文件的结构 WEB-INF |------configs |-------struts-common.xml |-------struts.xml |------web.xml 遇到的异常: WARNING: Could not find action or result: /Pro_struts2/common/login!preLogin There is no Action mapped fo

解决Android中fragment_main.xml文件中的组件获取的问题

package com.dhy.phonedial; import android.app.Activity; import android.app.Fragment; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.Me

关于Java Web工程中web.xml文件

提及Java Web工程中web.xml文件无人不知,无人不识,呵呵呵:系统首页.servlet.filter.listener和设置session过期时限,张口就来,可是你见过该文件中的error-page标签吗?下面直接以例子的形式说明error-page标签的使用: 一个servlet文件: package com.ghj.packageofservlet; import java.io.IOException; import javax.servlet.ServletException;

XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)

1.XML 格式规范: ① 必须有一个根元素 ② 不可有空格.不可以数字或.开头.大小写敏感 ③ 不可交叉嵌套 ④ 属性双引号(浏览器自动修正成双引号了) ⑤ 特殊符号要使用实体 ⑥ 注释和HTML一样 虽然可以描述和传输复杂数据,但是其解析过于复杂并且体积较大,所以实现开发已经很少使用了.   例: <?xml version="1.0" encoding="UTF-8"?> <root> <arrayList> <arr

Android中layout.xml文件中加载自定义的View类

<com.bn.summer.GGView3 android:layout_width="100dip" android:layout_height="114dip" android:layout_marginLeft="11dip" /> View类的实现: package com.bn.summer; import android.content.Context; import android.content.res.Resour

android 中生成xml文件

在Android中生成xml文件真的很简单,下面提供2中方法,一种是通过String写入到文件,另外一种是通过XML 的 XmlSerializer. 以后遇到Android写xml内容就不会困惑了 1.通过string写入文件 String name=mEtName.getText().toString(); String age=mEtAge.getText().toString(); String Id=mEtID.getText().toString(); File file=new F

修改Android中strings.xml文件, 动态改变数据

有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法.strings.xml中节点是支持占位符的,如下所示: <string name="data">整数型:%1$d,浮点型:%2$.2f,字符串:%3$s</string> 其中%后面是占位符的位置,从1开始, $ 后面是填充数据的类型         %d:表示整数型:         %f :表示浮点型,其中f前面的.2 表示小数的位数         %

[Eclipse] eclipse中打开xml文件,使用ctrl+鼠标左键无法跳转至Java源文件【待解决】

eclipse中打开xml文件,使用ctrl+鼠标左键无法跳转至Java源文件: 1. 设置eclipse ctrl + 左键打开源文件代码,如下图,设置都正常 2. 在网上找了很多种办法,均失败,在stackoverflow找到答案,但验证失败: http://stackoverflow.com/questions/18867178/ctrlclick-aka-hyperlink-on-xml-not-working?rq=1 Install WTP XML Editor plugin Ins