gpt4 book ai didi

c++ - Poco::DOMParser 和 wstring

转载 作者:行者123 更新时间:2023-11-28 06:50:41 25 4
gpt4 key购买 nike

有什么方法可以使 Poco::DOMParserstd::wstring 一起工作吗?

我使用定义的 XML_UNICODEXML_UNICODE_WCHAR_T 构建 pocoXML 库。现在我正在尝试编译这样的代码:

Poco::XML::DOMParser parser;
std::wstring xml = getXml(); //Init string with xml document

// Cannot compile, cause parseString wants only std::string
// not wstring
Poco::AutoPtr<Poco::XML::Document> document = parser.parseString(xml);

Poco::XML::SaxParser 可以解析std::wstringPoco::XML::DOMParser 使用SAXParser 构建文档.所以我不知道为什么我不能将 std::wstring 传递给 parseString。

也许我不能使用 parseString,但还有另一种方法可以使用 DOMParser 解析 std::wstring?

最佳答案

您应该能够在 Windows 上使用仅定义了 XML_UNICODE_WCHAR_T 的 std::wstring。在 POSIX 平台上,您必须确保 wchar_t 的宽度为 2 个字节(检查 __SIZEOF_WCHAR_T__ 定义)。使用 XMLString 是一种很好的做法,它是根据 XML_UNICODE_WCHAR_T 定义从 std::basic_string 中适当定义的。

不过,有一个问题会阻止使用 XML_UNICODE_WCHAR_T 进行 Poco::XML 编译。 Github issue已经创建,现在的问题是fixed1.5.3 release 的开发分支中.

关于c++ - Poco::DOMParser 和 wstring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24008333/

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