如何使用tinyxml2解析空元素?

How can I parse an empty element with tinyxml2?

本文关键字:元素 何使用 tinyxml2      更新时间:2023-10-16

使用tinyXml2,我可以解析

      2010-07-01 14:28:20
    
很好,但是
在c++中抛出异常,当它们是完全有效的XML时(据我所知)。有人对此有什么建议吗?我不能控制这个XML的源代码,而且我需要容错。

此答案假设您正在尝试加载带有空元素的有效XML。

如果元素为空,

XMLElement::GetText()返回nullptr,因此您可以执行如下简单检查:

std::string szData;
// Get the element
XMLElement pElement = xmlDoc.FirstChildElement("MyElement");
// Check whether the element contains data & if so, extract it as text
if (pElement->GetText() != nullptr) szData = poElement->GetText();

这个问题实际上指出了我几个月前写的TinyXML2教程的一个bug,所以感谢你的发帖!:)