问题标签 [rapidxml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - RapidXML 抛出异常
这是我为使用 RapidXML 进行 XML 解析而编写的代码,但它会在内存位置 0x0011fc20 处引发异常“rapidxml::parse_error..”,请为此提出任何修复建议。谢谢
c++ - RapidXml 和内存池
使用 RapidXML,我需要创建和销毁大量 XML 节点和 XML 属性。我在内存池文档中读到,没有办法使用 allocate_string 函数释放在内存池中创建的单个字符串。
但是以这种方式,内存池的大小会增加,在我看来,删除与不再使用的属性或节点相关的字符串是一个问题。
我担心的是用一个过于动态的系统来填充内存池空间,在这个系统中我创建和销毁了许多没有“先验”已知模式的节点。
有没有办法跳过这个问题?
添加:
阅读文档我发现了memory_pool::set_allocator函数,乍一看它似乎解决了我的问题。我尝试使用此功能,但没有成功。有人用过 set_allocator 函数吗?我没有在互联网上找到有关的示例或参考资料。
c++ - rapidXML,遍历 DOM 树时损坏的内存
不明白属性的内存和 rapidXML 是怎么回事。一个函数封装了xml解析,如果成功,则返回对根节点的引用,当在这个函数内部调用遍历DOM树时,我得到了正确的数据存储在一个xml文件中。
TraverseDOMTree 按预期打印所有属性和节点名称。
后来,很明显超出了Load的范围,pRootNode会被用来从DOM中三查询值,这样就不行了。出于测试目的调用 TraverseDOMTree,它工作得很好,现在打印属性的垃圾值。我可以假设 DOM 树仍然存在,与第一次调用中的节点层次结构相同,但属性值被弄乱了。我尝试将rapidxml::xml_document<> doc 设为全局并添加parse_non_破坏性标志,但这些都没有影响。
如果重要的话,使用 Load 方法的客户端在同一个线程中运行。有什么问题?
c++ - 使用rapidxml循环一个节点
我是在 C++ 中使用 XML 的新手,我想遍历 XML 节点并将 'id' 属性打印到向量中。这是我的 XML
这就是我加载 XML 的方式
如何循环通过节点?
c++ - RapidXML API 可以增加缓冲区吗?
在 RapidXml 中看到 XmlDocument::parse(Ch*) 的文档,我想知道字符缓冲区是“非常量”。当缓冲区需要通过解析器的任何此类修改来增长时,我不确定这将如何工作。图书馆会做成长吗?如果我要求它解析,它应该解析正确吗?否则它应该被称为ParseAndPossibleModifyButLetMeKnowIfYouHadToRegrowTheBufferInWhichCaseHeyCheckThisFlagAndCopyThisPointer
或类似的东西。
我错过了什么吗?我想了解这个库,因为我想要一些易于使用的东西来从 C++ 即时打开和附加/编辑 xml 文件,但是如果有更简单/更好的选择,请不要犹豫,提出这样的建议作为答案!
objective-c - strcpy 在较大尺寸上崩溃(iPhone 使用 rapidXML)
我正在关注 iOS5 上的 rapidxml 教程,不幸的是我的 c 有点生疏了。以下代码适用于较小的字符大小,但会崩溃
我拉下更大的尺寸时(我从 RESTful 接口中提取 XML)。结果如下:
盲目地,我尝试了以下但没有运气:
和
有任何想法吗?从我多年前的 c 课程开始,感觉就像我需要将大小大于 X 并单独处理它们,但我不确定从哪里开始。R
编辑 1 - 工作
感谢@RichardJ.RossIII,以下工作:c++ - Rapidxml 导致奇怪的问题
我对 rapidxml 有问题。下面的代码给了我输出: http: //pastebin.com/352MxuQY
但是当我删除循环或“{}”时,我正在附加节点,我得到了很好的输出: http: //pastebin.com/H0YQGwV1
为什么会这样?
c++ - RapidXml:无法从 XML 文件中获取子级
使用以下 C++ 代码,使用 RapidXml 库,我只能获取顶层的 XML 元素,而不能获取子元素:
XML 文件:
实际结果:
预期结果:
我怎样才能得到孩子?
谢谢!
c++ - 使用 RapidXML 解析 Xml 文件时出错
当我尝试解析包含特定日文汉字的 xml 文件时出现“parse_error”:
退
如果我将此汉字更改为另一个汉字,则解析效果很好。
任何想法?
PS:我用 rapidXML 解析文件
这是 xml 文件的示例:
c++ - 使用 RapidXml 解析日文汉字时出错
当我尝试解析包含特定汉字的 xml 文件时遇到问题:
退
经过调试,我发现问题出在 RapidXml 的这个函数上:
其中 ch 是汉字退。此函数返回 false。为什么?对于所有其他字符,它返回 true。你有什么主意吗?