问题标签 [xerces-c]
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++ - Xerces C++ XML:转义真的很难吗?
我正在使用 Xerces 库,一切都很好,但现在我想转义 XML 字符串,我发现有一个用于此的 XMLFormatter 类,在我深入研究文档后,我发现它真的很难从构造函数中使用看法。我想要的只是两个功能:
字符串转义(字符串);
字符串 unescape(字符串);
为什么 xerces 很难做到这一点?
c++ - 静态链接的 xerces 3.0.0 在 Linux 上动态工作时不起作用
所以我试图在linux上静态链接Xerces 3.0.0。
我已经用动态链接做了它并且它有效,但为了避免依赖我想静态地做它。
我更改了所有的制作文件以适当的方式进行
-Wl,-Bstatic ... -lxerces-c -Wl,-Bdynamic ...
但我收到以下错误:
我用这里找到的蛮力方法修复了那些
但是还有另一种与 xerces 相关的错误。
它似乎缺少pthread,所以我尝试添加它,但这并不能解决问题......这些错误来自Xerces......并且动态版本工作正常静态一个失败。
有任何想法吗???
谢谢
c++ - 在哪里可以找到适用于 AIX 的静态 Xerces 3.0.0 库
我从 xerces apache 站点获得了二进制文件,但它们只有动态库。
我想知道为什么它们不包含 lib 的静态版本?是否有地方可以为 AIX 获取静态 Xerces 3.0.0。
以及它的 C 版本
感谢您的任何意见
PS 其他然后自己构建它我知道这个选项,但我想要更标准化的东西。意思是使用他们用来构建动态版本库的通用构建标志
xml - DOMDocument 到字符串 xerces -c
我用 xerces-c 解析了一个 XML 文档,并且可以成功地将其写入 DOMPrint 示例之类的文件,但我无法将其存储在数组中。我在网上看到我仍然应该使用序列化程序,但我不确定要更改什么。显然,我应该使用其他东西,而不是使用 LocalFileFormatTarget,但是在网上寻找有关 MemBufFormatTarget 的参考资料并没有给出如何使用它的线索。如何使用 xerces-c 将 xml 文档转换为字符串?
xml - Xerces-c:使用 xsd 文件 c++ 进行 XML 文件验证
我正在尝试使用 Xerces-c。我有一个 .xsd 方案并想用它来验证 XML 文件。我已经定义了 xsd 文件和错误处理程序,但由于某种原因,xsd 没有引发错误。对我可能遗漏的内容有任何见解吗?
谢谢。
xml - xerces-c: DOM xml 解析
我有一个关于 XML 解析的问题。我正在尝试一个示例程序并对其进行了一些更改以尝试了解解析的工作原理,但是,我遇到了一个我不太理解的输出,希望你们中的一些人能够对可能发生的事情有所了解。
这是我的 xml 文件:
我在整个程序中插入了调试语句,以试图了解当 getChildNodes() 等函数调用在调用时会发生什么。这是我收到的输出:
从输出中,我可以很容易地推断出它正确地解析了我的 xml 文件。但是,我注意到该程序还检测到名称为#text的额外节点(使用 getNodeName() 函数打印出来)。我的问题是,这些#text指的是什么,为什么它们会在整个循环中定期出现?
谢谢!
c++ - C++ Xerces-c:初始化一个 shared_ptr
我是共享指针的新手,想知道如果共享指针也是成员变量,如何初始化它?
目前我的代码看起来像这样:在头文件中,我有:
在构造函数中,我有这样的东西:
在析构函数中我有:
但是用 Valgrind 编译程序,我会收到以下错误:调用了纯虚拟方法。在没有活动异常的情况下终止。大小为 8 的读取无效。
对我在初始化时可能做错了什么有任何见解吗?
我怀疑我正在从未分配的内存中读取。
编辑:
所以在析构函数中,我在终止命令之前添加了以下代码行,内存泄漏和错误都消失了!
if (解析器) parser.reset();
为什么对解析器的所有引用都必须在释放之前消失?
非常感谢,谢谢。
c++ - Xerces-C 上的 DOM 元素内存分配管理
我在 xml 解析问题上苦苦挣扎了两天,但还没有完成:)
好吧,经过多次尝试,我最终决定在我的 c++ 应用程序中使用 Xerces-C 来解析 xml。
嗯...我尝试了 TinyXml、RapidXml 和其他...。在内存分配的角度管理节点时,Xerces 的行为也相同。
好吧,DOMElement、DOMDocument、DOMNode 都是私有构造类……我知道这是为了确保解析时的最佳性能,但在尝试管理类之间的节点时它确实是一件坏事。
我有这个问题。我想创建一个存储 xml 文档的类(一个 DOM 对象,它具有我想要的所有节点并且我可以自由导航,所以它不是字符串 var,而是 DOM obj,我想 DOMElement/DOMDocument 很好)。好吧,这个对象是我班级的成员。在我的课堂上使用函数我想让这棵 DOM 树及时增长......在内部我保留了这棵树,当我想要时我将它打印到一个文件中。这就是我想做的。我知道这看起来很奇怪,但这是我的要求。我必须这样做,不考虑其他所有解决方案......对不起。(我应该告诉你这是实现的原因,但这需要很多时间)。
在代码中表达这一点,以下几行是我想要实现的表示:
考虑到私有构造函数引起的所有限制,并且我只能从 XercesDOMParser 获取 DOMDocument,并且我得到了指针,我该如何实现这一点......如果在构造函数中我这样做:
将文档分配给 _xmldoc 后,构造函数超出范围并删除解析器,因此它拥有的每个组件,所以我的 _xmldoc 将指向任何内容......
我怎么解决这个问题???
谢谢...
c++ - 在 Xerces 上调用 XMLPlatformUtils::Initialize() 时?
我正在使用 Xerces,并且在使用 Initialize 和 Terminate 时引用不是很清楚。
嗯,许多网站通常会告诉您:“始终将您的 Xerces 代码放在这两行之间”。
但我总是必须这样做吗?或者只是在解析时?
谢谢
c++ - 在 Xerces-C 中打印 XML 文档
我的问题很简单。我有一个 XercesDOMParser,所以我可以通过 getDocument() 访问存储在其中的 DOMDocument。
我想获取代表树的 xml 字符串。
正确的叫法是什么?我假设库提供了一个有效的运算符/函数。