gpt4 book ai didi

c++ - PugiXML 没有错误的空文档

转载 作者:行者123 更新时间:2023-11-28 07:32:51 26 4
gpt4 key购买 nike

我有以下 XML:

<?xml version="1.0" encoding="utf-8"?>
<jack>
<client name="Music Player Daemon">
<port name="left">
<connection port="jamin:in_L" />
</port>
<port name="right">
<connection port="jamin:in_R" />
</port>
</client>
</jack>

我正在尝试使用 PugiXML 解析它,但加载后我的文档是空的,结果描述说没有错误:

pugi::xml_document doc;
pugi::xml_parse_result result = doc.load("/location/filename.xml");
std::cout << "Load result: " << result.description() << std::endl;

但这是一个空文档:

std::size_t numitens = std::distance(doc.begin(), doc.end());
std::cout << numitens << std::endl;

输出:

Load result: No error
0

我认为 XML 不是问题,对吗?

XML 是由其他应用程序生成的,所以我无法更改,如果 XML 有问题我需要更改 XML 解析器吗? TinyXML 还是 libxml++?

最佳答案

doc.load() 加载字符串,而不是文件。您必须使用 doc.load_file()

理想情况下,字符串“/location/filename.xml”的解析应该失败;原因很复杂,主要与向后兼容性有关。

关于c++ - PugiXML 没有错误的空文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17325581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com