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