TiXmlDocument doc;
TiXmlDeclaration * decl = new TiXmlDeclaration( "1.0", "UTF-8", "" );
doc.LinkEndChild( decl );
string in_elemName = "test";
map<string,string> in_attributes;
in_attributes.insert(map<string, string>::value_type("name1","kevin1")); //value1
in_attributes.insert(map<string, string>::value_type("name2","kevin2")); //value2
in_attributes.insert(map<string, string>::value_type("name3","kevin3")); //value3
TiXmlElement* elem = new TiXmlElement( in_elemName.c_str() );//创建元素
map<string, string>::iterator it;
for (it = in_attributes.begin();it!=in_attributes.end(); it++)
{
elem->SetAttribute(it->first.c_str(), it->second.c_str());
}
doc.LinkEndChild( elem );
doc.SaveFile( "example3.xml" );
<?xml version="1.0" encoding="UTF-8" ?>
<test name1="kevin1" name2="kevin2" name3="kevin3" />
分享到:
相关推荐
3. **操作XML**:创建新元素、添加或删除元素和属性,修改文本内容。 4. **保存XML**:调用`TiXmlDocument::SaveFile()`将DOM结构写回文件。 在实际项目中,选择TinyXML还是TinyXML2取决于具体需求。如果你的项目...
在本文中,我们将深入探讨如何使用TinyXML2来解析和创建XML文件,特别是涉及到CDATA区段和元素的多属性处理。 首先,让我们了解XML的基本概念。XML(Extensible Markup Language)是一种用于存储和传输结构化数据的...
在给定的压缩包中,我们有两个主要的文件:`tinyxml2.h`和`tinyxml2.cpp`。 `tinyxml2.h`是头文件,包含了TinyXML-2的所有公共接口和类定义。在这个文件中,你可以找到如下的关键知识点: 1. **XMLDocument**: 这...
这个文件通常会包含`#include "tinyxml2.h"`以导入TinyXML2库,然后创建一个`tinyxml2::XMLDocument`对象,这是解析和构建XML文档的主要类。例如,使用`XMLDocument::LoadFile`方法加载`modulecfg.xml`,或者使用`...
TinyXML 提供了一系列类来表示 XML 文档的不同部分,如 `TiXmlDocument`(XML 文档)、`TiXmlElement`(元素)、`TiXmlAttribute`(属性)、`TiXmlText`(文本)和 `TiXmlComment`(注释)。这些类使我们能够轻松地...
TinyXML2是一个轻量级的XML解析库,主要由C++编写,旨在提供简单、高效的方式来读取和写入XML文档。它适用于各种平台,包括桌面系统和移动系统,如Android。这个库的设计目标是小巧且易于理解,使得开发者能够快速地...
QT框架是广受欢迎的开源C++开发平台,用于构建跨平台的应用程序,而TinyXML则是一个小巧、轻量级的开源库,专门用于解析和操作XML文档。在QT项目中集成TinyXML,可以方便地处理XML数据,尤其适用于那些需要读取、...
- **源代码文件**:通常包括`.cpp`和`.h`文件,如`tinyxml2.cpp`和`tinyxml2.h`,它们包含了TinyXML2的所有实现和头文件。你可以直接将这些文件添加到你的C++项目中,或者编译成库文件供项目链接使用。 - **示例代码...
5. 访问元素和属性:通过`Value()`获取元素的文本,`Attribute()`获取属性值。 6. 修改XML:创建新元素,修改元素或属性,然后使用`InsertEndChild()`、`SetAttribute()`等方法。 7. 保存更改:如果修改了XML,使用`...
在`TinyXMLHelp_v2.5.3.chm`文件中,包含的是TinyXML的离线帮助文档,对于学习和理解TinyXML的用法非常有帮助。CHM文件是Windows的 Compiled HTML Help 格式,可以像查看传统软件帮助一样,查阅TinyXML的API、示例和...
- **XML解析**:TinyXML2能够解析XML文档,并将其转换为内存中的对象结构,如XML元素(XMLElement)、属性(XMLAttribute)和文本(XMLText)。这使得开发者可以方便地遍历和操作XML数据。 - **XML生成**:同样,...
TinyXML库的使用,可以让你在C++程序中方便地解析XML文档的结构,提取其中的数据,甚至修改和创建新的XML文档。 TinyXML库的主要组成部分包括以下几个类: 1. **TiXmlDocument**: 这是处理整个XML文档的类。你可以...
TinyXML2是一个小型、快速且易于使用的XML解析库,它...这个例子通过清晰的注释展示了TinyXML2库的常用操作,对于学习和理解TinyXML2的功能非常有帮助。通过实践这些示例,开发者可以更深入地掌握XML文档的处理技巧。
通过对tinyxml2的封装,我们可以创建更高层次的接口,例如: 1. **智能指针封装**:可以使用智能指针(如`std::unique_ptr`或`std::shared_ptr`)来管理XML对象,避免内存泄漏和手动释放的问题。 2. **链式操作**:...
例如,你可以通过元素的名称、属性值等来查找特定的XML节点,也可以轻松添加或删除元素和属性。 在VS2010环境下编译TinyXML2.3.4源码,首先需要确保你有Visual Studio 2010的开发环境,并安装了C++编译器。编译过程...
- **TiXmlElement**:元素类是TinyXML中最常用的一类,可以使用`SetAttribute`/`QueryAttribute`方法设置和查询元素属性,使用`InsertEndChild`/`DeleteChild`方法添加和删除子元素或文本。 - **TiXmlAttribute**:...
你可以通过`FirstChildElement()`和`NextSiblingElement()`遍历元素,使用`Value()`获取元素名,`Attribute()`获取属性值,`SetAttribute()`设置属性,`DeleteAttribute()`删除属性,`FirstChild()`和`LastChild()`...
这有助于理解在实际应用中,tinyxml2在处理XML数据时的效率表现。 总结来说,tinyxml2库是XML解析和操作的强大工具,适用于需要快速集成XML支持的C++项目。通过熟练掌握其API,开发者可以轻松地从XML文件中读取数据...
2. **XML创建和写入**:除了解析XML,TinyXML还支持创建新的XML文档,修改现有文档,并将其保存回XML文件或生成XML字符串。这使得开发者可以动态构建和更新XML内容。 3. **API设计**:TinyXML提供了一个简洁的C++...
3. 支持DOM模型:它使用 DOM(文档对象模型)来表示 XML 文档,将整个 XML 文档加载到内存中,并构建一个树形结构,开发者可以通过遍历树节点来访问和操作 XML 元素和属性。 4. 跨平台性:TinyXML 是跨平台的,可以...