Binary Xerces-二进制数据

Binary Xerces-二进制数据,binary,xerces,Binary,Xerces,我正在使用Xerces并试图将包含二进制数据的XML文档读入DOM: <field1> <data> [binary data (multiline) here] </data> </field1> 这将返回不带任何内容的。我也尝试过使用CDATA数据块,但没有效果。将二进制数据交换为多行ASCII似乎效果不错。我希望字符串在遇到第一个二进制字符时立即截断(可能导致返回空标记),但令人惊讶的是,删除空字符也不起作用,仍然返回 在Xerces我怎么

我正在使用Xerces并试图将包含二进制数据的XML文档读入DOM:

<field1>
<data>
[binary data (multiline) here]
</data>
</field1>
这将返回不带任何内容的
。我也尝试过使用CDATA数据块,但没有效果。将二进制数据交换为多行ASCII似乎效果不错。我希望字符串在遇到第一个二进制字符时立即截断(可能导致返回空标记),但令人惊讶的是,删除空字符也不起作用,
仍然返回

在Xerces我怎么做?我希望通过读取未签名字符*并在其中执行操作来避免预处理整个文档

谢谢。

您最好对二进制数据进行编码。检查apache上的commons编解码器库


XML是为文本而设计的,所以您需要将二进制数据转换为文本;编解码器可用于此目的。

澄清谁负责转换base64数据并从中提取字符或字节?Xerces还是自定义处理程序?
DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(xc_DOMImplementation_Name);
DOMLSSerializer* serializer = ((DOMImplementationLS*)impl)->createLSSerializer();
std::wstring ws(serializer->writeToString(node));