【发布时间】:2018-04-14 18:13:29
【问题描述】:
我正在使用 boost write_xml 函数来创建 xml。我能够使用 Boost 创建成功的 xml。但它在 xml 子元素的末尾添加了额外的 unicode 0x0 字符。
代码sn-p:
boost::property_tree::write_xml(oss, pt, boost::property_tree::xml_writer_make_settings<std::string>(' ', 4));
我正在将此 xml 发送到 Java 端应用程序,并且 Java 在解析 boost 创建的 xml 时抛出异常错误。
An Invalid XML character(Unicode: 0x0) was found in the element content of the document error
任何人都知道,如何在使用 boost property ptree 创建 xml 时从 XML 中删除 unicode 0x0 character。
【问题讨论】:
-
这对我来说是新的,为什么 write_xml 会写一个 0x0 代码点?可能 your 原始属性树实例在写入 xml 之前包含 0 个字符? (property_tree 使用 std::basic_string 反过来可以存储 0 个字符)请发布MCVE
标签: c++ xml boost unicode boost-propertytree