我有一个采用单个字符串参数的网络服务。
在我的例子中,我需要发送一个字符串,它是一个 xml 文档,其中一个元素包含一个 xml 片段(我将使用它来创建一个文件)。
例如我发送:
<people>
<person>
<name>J Smith</name>
<value><![CDATA[<content>rest of xml document here</content>]]></value>
</person>
</people>
我用 .. 创建了一个 xml 文件。
我想知道是否有比使用 CDATA 更好的方法来做到这一点? CDATA 文件非常小(小于 20KB)。
京东
请您参考如下方法:
无需使用 CDATA。您可以按原样直接传递 xml 片段。
参见,例如,http://msdn.microsoft.com/en-us/library/aa480498.aspx
更新:
Steve 指出您有一个字符串参数而不是 XmlElement 参数。我不确定它是否仍然可以那样工作(尽管我觉得它可以:)。
除了 CDATA 和 Base64 之外的另一种选择是 Xml 编码,例如
var xml = new XmlDocument();
var node = xml.CreateElement("root");
node.InnerText = "<content>Anything</content>";
var xmlString = node.InnerXml; /// <content>Anything</content>
