使用 tinyXml2,我可以解析 就好了,但是 和 当它们是完全有效的 XML 时都在 C++ 中抛出异常(据我所知)。有没有人对此有修复或建议?我不控制这个 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 tutorial 的一个错误,所以感谢发布它! :)
关于c++ - 如何使用 tinyxml2 解析空元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14106246/