Skip to main content
 首页 » 编程设计

c#之将 xml 数据发送到 Web 服务而不是使用 CDATA 的最佳方法是什么

2024年02月03日27www_RR

我有一个采用单个字符串参数的网络服务。

在我的例子中,我需要发送一个字符串,它是一个 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; /// &lt;content&gt;Anything&lt;/content&gt;