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 は一連の空白 (空白、改行、改行) を無視し、それらを 1 つの空白にマージします。

1 つのアプローチは、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 に答える