0

我有以下 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。

4

1 回答 1

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>
于 2013-05-29T11:05:30.640 回答