【问题标题】:Preserving line feeds and carriage returns when extracting text from XML从 XML 中提取文本时保留换行符和回车符
【发布时间】:2014-05-05 13:37:08
【问题描述】:

我在 VS 2010 专业版中使用 VB.Net。

我需要从一个在文本中包含换行符的 XML 文件中提取数据。换行位置用以下字符“ ”标记。

使用 XmlTextReader 和 XmlDocument 我可以成功提取所需的数据并将其显示在消息框和文本框中。消息框输出中显示的文本显示了相关的换行符,但是文本框中的文本没有换行符,即它们都显示在一行上。

文本框多行和自动换行属性设置为 true。

以下文本直接取自 xml 文件“Photo: Any Image Ltd” "Ampthill v London Irish Wild Geese" "RFU National - SSE Nat League 2。

消息框输出正确显示换行符:-

文本框输出为: - 照片:Any Image Ltd Ampthill v London Irish Wild Geese RFU National - SSE Nat League 2。(无换行)

自从开始这个话题后,我直接将文本从文本框中复制到“Word”中并显示换行符?

我现在更迷茫了!

自从发布这个问题并在我的应用程序中将文本框中的文本复制到“Word”中后,我意识到它必须与文本框本身有关。

我用“RichTextBox”替换了我的文本框,这显示了正确的换行!

我没有删除这个问题,因为这一点信息可能对其他人有所帮助。

【问题讨论】:

    标签: xml vb.net


    【解决方案1】:

    您的问题提到了回车和换行,但您的 XML 字符串仅包含换行 ( ) 字符。

    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." 
    

    此字符串在多行文本框中显示为两行,在 RichTextBox 中显示为四行,这是您已经找到并发布的解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      相关资源
      最近更新 更多