`
mmdev
  • 浏览: 13243462 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

CMarkup与tinyXml直接解析XML字符串

 
阅读更多

今天才知道CMarkup可以直接解析字符串形式的XML。以前都是先存入一个文件,然后从文件中load。多做了I/O操作,效率不高。

CMarkup xml;

CString str;

xml.SetDoc(str);

tinyXml也可以直接解析XML字符串,方式如下:

//directlyparsingstringwithtinyxml

constchar*content="<root><elemname=/"aaa/"/></root>";

TiXmlDocument*doc=newTiXmlDocument();

doc->Parse(content);

if(&doc==NULL)

cout<<"doc==NULL"<<endl;

TiXmlHandledocHandle(doc);

TiXmlNode*root=docHandle.FirstChild("root").ToElement();

TiXmlNode*elemNode=root->FirstChild("elem");

TiXmlElement*elemElem=elemNode->ToElement();

cout<<elemElem->Attribute("name");

结果是aaa

分享到:
评论

相关推荐

    tinyxml/cmarkup能力集解析完整总结

    以下是如何使用tinyxml解析XML能力集的基本步骤: - 引入库文件:在项目中包含`tinystr.h`和`tinyxml.h`。 - 加载XML文件:创建`TiXmlDocument`对象,并调用`LoadFile()`方法加载XML文件。 - 获取根元素:通过`...

    C++ XML 文件解析 Cmarkup类

    本文将重点讨论C++中的一种XML解析工具——Cmarkup类。 Cmarkup类是专门为C++设计的一个轻量级的XML解析库,它允许开发者高效地读取、修改和写入XML文档。Cmarkup通过提供简洁的API接口,使得XML处理变得更加简单...

    CMarkup类操作XML

    5. **字符串处理**:CMarkup类提供了对XML字符串的处理能力,包括对XML字符串的编码和解码,以及对XML声明的处理。 6. **MSXML支持**:CMarkup类与Microsoft的MSXML库集成,后者是微软提供的用于处理XML的组件。...

    XML解析 CMarkup类 c++

    例如,`Init()`方法用于初始化解析器,`SetDoc()`用于加载XML字符串或文件,`FindChild()`则用于查找XML文档中的特定节点。此外,`Element()`和`Attr()`方法分别用于获取当前元素的名称和属性,`GetText()`则用于...

    vc cmarkup 遍历 xml 树

    8. **性能考虑**:虽然CMARKUP简单易用,但相比于现代的XML解析库(如TinyXML、pugixml等),它的性能可能较低。在处理大量数据或高并发场景时,可能需要考虑使用更高效的解决方案。 总之,使用CMARKUP遍历XML树...

    c++ XML解析 CMarkup示例

    这段代码首先初始化CMarkup对象,然后解析一个简单的XML字符串。通过FindElem找到名为"elem"的标记,接着添加新的子元素,修改属性,并获取内容。最后,将修改后的XML保存到"modified.xml"文件。 4. **注意事项**...

    XML解析(VC工具类CMarkup)

    1. **XML文档加载**:CMarkup提供了Load函数,通过文件路径或内存中的XML字符串加载XML文档。例如,`m_xml.Load("example.xml")`将加载名为"example.xml"的XML文件。 2. **XML解析**:CMarkup能够解析XML文档并创建...

    XML文件解析

    RapidXml的解析过程是递归的,它通过解析XML文档的字符串来创建一棵DOM(Document Object Model)树。使用RapidXml,你可以轻松地遍历DOM树,访问或修改XML元素的属性和内容。以下是一个简单的RapidXml使用示例: `...

    xml的操作类(CMarkup)

    在C++编程中,处理XML文件时,我们可能会遇到各种库,如TinyXML、pugixml等,但这里我们讨论的是一个名为`CMarkup`的类,它为XML操作提供了一个简洁易用的接口。 `CMarkup`类的设计目标是简化XML文档的读取、修改和...

    Cmarkup类....

    5. **保存XML**:修改后的XML文档可以通过Cmarkup类写回到磁盘上,形成一个新的XML文件,或者以字符串形式输出。 6. **错误处理**:在解析过程中,Cmarkup类会检查XML的语法正确性,如果遇到错误,它会提供错误信息...

    使用CMarkup类

    - **加载XML**:通过LoadFile()或LoadString()函数加载XML文档,前者用于读取文件,后者用于处理内存中的XML字符串。 - **查找标记**:使用FindChild()或FindChildForName()函数寻找指定的子元素。FindChild()基于...

Global site tag (gtag.js) - Google Analytics