如何使用tinyxml2解析空元素?
How can I parse an empty element with tinyxml2?
使用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,所以感谢你的发帖!:)
相关文章:
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 如何在C++向量中奇数元素前面加上值-1,我在使用insert函数时遇到了问题
- 使用堆查找第K个最大元素的时间复杂性
- 基于范围的 for 循环:迭代使用一个元素扩展的向量
- 使用运算符 [] 引用 std::vector 上最后一个元素时出现问题<>
- 如何使用remove_if从矢量中删除元素
- 如何从使用 for 循环中的矢量大小的矢量中删除元素
- 为什么使用数组元素查找最大数字的程序不起作用?
- 在字符串的每个元素(不使用弦乐)的每个元素之后插入字符
- 是否可以重载模板函数以与 std::vector 的元素一起使用
- 具有不同类型的元素和使用类的 2D 数组
- C++仅对一个元素集使用迭代器
- 从数组中每 3 个连续选择元素并使用函数进行比较
- 如何处理在某些元素中使用 nul char 的 CSV 行
- 为什么不允许在其元素中使用结构变量本身
- 删除元素时使用 STL 映射的迭代器时遇到问题
- 如何将 Vector<T>::reverse_iterator 与一个元素一起使用