/ / XMLからテキストを抽出するときの改行と復帰を保持する

XMLからテキストを抽出するときの改行と改行の保持 - xml、vb.net

私はVS 2010 ProfessionalでVB.Netを使用しています。

テキストに改行を含むXMLファイルからデータを抽出する必要があります。改行位置には、 "&#xA"という文字が付きます。

XmlTextReaderとXmlDocumentを使って抽出できます必要なデータをメッセージボックスとテキストボックスに表示します。メッセージボックスの出力に表示されるテキストには関連する改行が表示されますが、テキストボックス内のテキストには改行がなく、つまり1行にすべて表示されます。

textboxのmultilineおよびwordwrapプロパティはtrueに設定されています。

次のテキストは、xmlファイル「Photo:Any Image Ltd」および「#Ampthill vロンドンアイルランドの野生のガチョウ」&#xA「RFU National - SSE Nat League 2」から直接引用したものです。

メッセージボックスの出力には、改行が正しく表示されます。 -

テキストボックスの出力は以下のとおりです。

このスレッドを開始してから、テキストボックスからテキストを直接「Word」にコピーしたところ、改行が表示されます。

私は今さらに混乱している!

この質問を投稿してからコピーした後それが改行を示したように私のアプリケーションからのテキストボックスから "Word"へのテキスト私はそれがテキストボックス自体と関係がある必要があることに気づいた。

テキストボックスを "RichTextBox"に置き換えました。これは改行を正しく示しています。

このわずかな情報が他の人に役立つ可能性があるため、この質問は削除していません。

回答:

回答№1は0

あなたの質問はキャリッジリターンとラインフィードについて述べています、しかしあなたのXML文字列はラインフィード(&#xA)文字だけを含んでいます。

TextBoxは、Environment.NewLineを想定しているようです。これは、Windows上のCRLFです。 RichTextBoxはCR、LF、またはCRLFを改行として受け入れるようです。例えば:

Dim test$ = "This is a string with a linefeed here " & ControlChars.Lf & " and a carriage return here " & ControlChars.Cr & " and now a CRLF " & ControlChars.CrLf & " The end."

この文字列は、複数行のTextBoxでは2行、RichTextBoxでは4行として表示されます。これは、既に見つけて投稿した回避策です。