C#:xml CData中的字节数组

Bla*_*aze 2 c# xml bytearray abcpdf cdata

我有一个返回xml块的WCF服务.一个元素是CData []部分.我的应用程序从数据库中读取HTML文件,并使用ABCPDF将其转换为PDF byte []数组.然后在我的XmlWriter中将字节添加到CData部分.

问题是生成的xml如下所示:

<![CDATA[System.Byte[]]]>
Run Code Online (Sandbox Code Playgroud)

如何将字符串输入CData部分?我尝试过这样的事情:

string str;
ASCIIEncoding enc = new ASCIIEncoding();
str = enc.GetString(theData);
Run Code Online (Sandbox Code Playgroud)

Convert.ToBase64String(theData);
Run Code Online (Sandbox Code Playgroud)

我卡住!! 任何帮助都会很棒,谢谢!

Jon*_*eet 7

使用Convert.ToBase64String(data)绝对去这里,如果你有两端的控制方式.您不希望发送"原始"字节并假装它们是有效的文本数据.使用Convert.FromBase64String(text)在另一侧.

我有点惊讶的是,WCF并没有自动处理这个问题.我不能说我自己已经使用过它(Marc Gravell可能会参与其中 - 我相信他有很多经验)但是我希望它只是暴露字节数组.你为什么参与XML的层次?