在Web服务中保留元素中的换行符

时间:2013-05-29 09:58:24

标签: xml vb.net web-services .net-2.0 xmldocument

我有以下XML结构

<root>
    <element1>Some text</element1>
    <element2>Text with a
    new line</element2>
    <element3>More text</element3>
</root>

我在我的程序中加载了这个XML内容,如

Dim MyXmlDocument As New System.Xml.XmlDocument
MyXmlDocument.Load(MyXmlFile)

此后结构与上述相同。

现在我将该文档用作Web服务方法的参数。

MyService.DoSomething(MyXmlDocument)

<WebMethod()> _
Public Sub DoSomething(ByVal data As System.Xml.XmlDocument)
    'do something with the XML content
End Sub

我的问题是结构现在改为以下

<root>
    <element1>Some text</element1>
    <element2>Text with anew line</element2>
    <element3>More text</element3>
</root>

换行符替换为空字符串。这不应该发生。在通过Web服务发送期间是否有可能保留换行符?

应用程序和Web服务都是.NET 2.0。

1 个答案:

答案 0 :(得分:1)

XML忽略空格序列(空白,回车符,换行符)并将它们合并到一个空格中。

一种方法是使用  正如VKSingla建议的那样,另一种方法是在CDATA元素中输入文本。

<root>
   <element1>
     <![CDATA[
         Some Text
     ]]>
    </element1>
   <element2>
     <![CDATA[
       Text with a <br />
       new line
     ]]>
    </element2>
    <element3>
     <![CDATA[
         More Text
     ]]>
    </element3>
</root>