gpt4 book ai didi

c++ - Boost Write XML 错误编码

转载 作者:行者123 更新时间:2023-11-30 05:05:22 25 4
gpt4 key购买 nike

我想将 boost wptree 写入文件。在我的 Windows 上使用当前的 std::locale,设置为 C 输出 xml 文件的某些部分如下所示:

<demo>
<demostring1>Abc</demostring1>
<demostring2>abc&gt;def</demostring2>
</demo>

但我希望输出看起来像这样:

<demo>
<demostring1>Abc</demostring1>
<demostring2>abc>def</demostring2>
</demo>

这是将 wptree 写入文件的代码:

boost::property_tree::xml_parser::write_xml(wstringToString(filename), mainTree,
std::locale(),
boost::property_tree::xml_writer_make_settings<std::wstring>(' ', 4));

我试图通过

更改语言环境
boost::property_tree::xml_parser::write_xml(wstringToString(filename), mainTree,
std::locale("en_US.UTF-8"), // Give an Exception on runtime.
boost::property_tree::xml_writer_make_settings<std::wstring>(' ', 4));

如何更改语言环境,以便在 XML 文件中正确打印符号?

最佳答案

But i want that the output looks like this:

所以你想要无效的 XML。 https://www.w3.org/TR/2008/REC-xml-20081126/#NT-CharData

除了 Boost 实际上没有 XML 库这一事实之外,您不会找到一个完好无损的 XML 库来执行您描述的操作。

如果您坚持,您将不得不手动连接字符串。

关于c++ - Boost Write XML 错误编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48420304/

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