问题标签 [tinyxml2]
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++ - TinyXml2 流式打印
如何在 TinyXML-2 中设置 XMLDocument 以进行流式打印?
我试图将代码从 TinyXML-1 移植到 TinyXML-2。在 TinyXML-1 中,我可以执行以下操作:
我已经构建了一个 XMLDocument,现在我不确定如何修改它以进行流式打印。, 和似乎与我想要的XMLPrinter::OpenElement
非常XMLPrinter::PushAttribute
接近XMLPrinter::CloseElement
。那么我是否必须迭代所有 XMLDocument 并为每个元素调用这些函数,还是有更简单的方法?
c++ - 在 C++ 中解析 XML 元素
我正在使用 tinyxml2,我想在 C++ 中解析 XML 中的一些元素。例如
我只能解析“第二”元素中的 x。
当我对“第一个”元素或“第二个 y”尝试相同的方法时,它只会显示错误。我应该怎么办?
c++ - TinyXML-2 中 `TiXmlNode::FirstChild(const char *)` 的替代方法是什么?
我正在更新使用旧 TinyXml库的代码,以改用新的 TinyXML-2版本。
在编辑时,我注意到该函数在TinyXML-2TiXmlNode::FirstChild(const char *)
中没有直接替换。
我的问题是:
- 我错过的上述功能是否有方便的替代品?
- 如果没有,应该如何为 TinyXML-2 更新下面的示例代码?
c++ - TinyXML 无法加载我的文件
我一直在为大学做一些事情
是为了保存一些东西,我选择 tinyxml 这样做
这会将一些东西保存到 CM.xml
当我尝试用这个加载它时
它总是返回 false
尝试加载“helloworld.xml”工作正常
那么我的 xml 的问题在哪里?
在此先感谢 Jonny0815
tinyxml2 - tinyxml2 - 使用制表符而不是空格缩进
我正在使用 tinyxml2,系统将我的 xmls 保存为缩进的 4 个空格而不是制表符。读取此内容的程序仅读取选项卡并给我错误。无论如何我可以将 tinyxml2 更改为使用制表符而不是 4 个空格吗?我努力了
但它并没有改变任何东西
c++ - How to work around C++ pointer-to-member function limitation
C++ has limited ability to use pointer-to-member functions. I need something that will allow me to dynamically choose a callback member function, in order to use the Visitor pattern of the XMLNode::Accept(XMLVisitor *visitor)
method from the TinyXML2 library.
To use XMLNode::Accept()
, I must call it with a class which implements the XMLVisitor
interface. Hence:
This works fine if my caller is NOT an object which wants to use one of its own methods as a callback function (so that it can access class variables). For example, this works:
However, in my use case, the parsing is done inside a method in a class. I have multiple applications which have similar but unique such classes. I'd like to use only one generic MyVisitor
class, rather than have the visitor class have unique knowledge of the internals of each class which will call it.
Thus, it would be convenient if the callback function were a method in each calling class so that I can affect the internal state of the object instantiated from that calling class.
Top level: I have 5 server applications which talk to 5 different trading partners, who all send XML responses, but each is enough different that each server app has a class which is unique to that trading partner. I'm trying to follow good OO and DRY design, and avoid extra classes having unique knowledge while still doing basically the same work.
Here's the class method I want Accept()
to call back.
Here's the class method which will call Accept()
to walk the XML:
What's a simple way to get what I want? I can imagine more classes with derived classes unique to each situation, but that seems extremely verbose and clumsy.
Note: In the interest of brevity, my sample code above has no error checking, no null checking and may even have minor errors (e.g. treating const char *
as a string ;-).
c++ - 创建新元素崩溃后的TinyXml2 XMLDocument解析
在 TinyXmlv1 中,我可以创建一个临时 Xml 元素,然后通过以下方式解析文档
现在我想通过以下方式切换到 TinyXmlv2:
我不明白为什么它会崩溃。
c++ - TinyXML2:替换节点功能?
我很难使用 TinyXML2 ( https://github.com/leethomason/tinyxml2 ) 编写替换给定节点的 C/C++ 方法,例如:
...与另一个节点: ...所以结果是: 但是,要替换的节点可能会出现多次,我想保持顺序,以防我用其他东西替换第二个节点。这实际上应该是直截了当的,但我因无休止的递归而失败。
可能有一个如何做到这一点的例子吗?任何帮助将不胜感激。
c++ - 为什么这段代码没有产生 4 次,而第五次产生了正确的数据?
我有一个 XML 文件:
这是我读取 XML 文件的 C++ 代码:
我是编码新手。我正在使用博客中的示例代码,并根据我的需要对其进行了调整。我知道 for 循环只是在 XML 文件中的元素上运行。每次它找到元素“时间”时,它都会查看它是否具有属性“日”。我不明白为什么它会运行 4 次,而第五次会产生三个“时间”部分的属性。
这是输出:
时间日期:
时间日期:
时间日期:
时间日期:
时间日期:
2016-02-23 2016-02-24 2016-02-25
c++ - 当我想在 C++ Builder Starter 中链接静态库 TinyXML 2 的发布版本时,为什么会出现未解决的外部错误?
我有一个简单的问题。我读到链接调试静态库以发布可执行文件被认为是一件坏事。所以我在发布模式下编译了TinyXML 2的静态库。库编译没有任何错误。但是,当我想将发布静态库库与示例应用程序的发布版本链接时,我得到以下输出:
如果我使用调试静态 TinyXML 2 库编译应用程序,它可以编译。难道我做错了什么?我使用 C++ Builder 10.1 Berlin Update 2 Starter。