【问题标题】:Storing HTML code in a string [closed]将 HTML 代码存储在字符串中 [关闭]
【发布时间】:2015-09-11 06:53:52
【问题描述】:

我有一个 HTML 代码,我需要将它存储在一个字符串中,但是 html 代码非常大,我该怎么做?这个问题现在出现在哪里,我不太了解C# 通过在网上搜索,我找到了将 html 代码转换为 PDF 的代码,但在此之前我需要将其存储在字符串中。我需要这方面的指导。

【问题讨论】:

  • 我真的怀疑你的 html 代码是否足够大以超过 C# 中字符串长度的可能限制。即使在 x86 环境和旧 .NET 版本中,任何 .NET 对象的大小限制都在 2Gb 左右——这对于实际使用的任何 html 代码来说应该足够了。那么你的真正问题是什么?
  • 是文件中的html代码吗?

标签: c# .net


【解决方案1】:

除了Rahul的方法,你还可以在字符串前面使用@符号来转义整个东西。

string str = "<span id=\"somevalue\">"

也可以写成:

string str = @"<span id=""somevalue"">"

【讨论】:

    【解决方案2】:

    正如其他人所建议的那样,有多种方法可以将 (HTML) 文本添加到您的 C# 代码中。但是,如果文本非常大,这将变得难以管理。

    为什么不将 HTML 存储在单独的文件中并使用File.ReadAllText 将其读入您的程序?这样您就可以将该 HTML 源代码编辑为真正的 HTML 而不是字符串文字。

    【讨论】:

    • 这是我一直在寻找的答案,谢谢
    • @FrankTheTank - 向其他读者表示您发现一个有用的答案...
    【解决方案3】:

    虽然其他答案完全正确,但在每个 " 之前添加 \ 有点困难。

    您可以考虑的另一个选项是将其存储在设置属性中,当您在设置属性设计器中写入或将您的值粘贴到那里时,它会将 \ 放在需要的地方,您无需执行任何其他操作。

    资源编辑器也为您做同样的事情。

    【讨论】:

      【解决方案4】:

      您可以将 HTML 代码存储在字符串中,只需将其放在引号内即可。唯一需要记住的是,您需要在 HTML 代码中找到引号的任何位置“转义”字符串中的引号。

      类似:

      string str = "<span id=\"somevalue\">"
      

      反斜杠 \ 将转义 HTML 代码中的 ""。

      正如 Andy 评论的那样,存储字符串的理论限制是 2GB,大约是 2,147,483,647 个字符,但实际上您可以做更多的事情。

      【讨论】:

      • 嗯,从技术上讲,2Gb 并不总是 2,147,483,647 个字符,因为字符串可以进行 unicode 编码。所以在最坏的情况下,它是那个值的一半。
      • @AndyKorneyev:- 嗯,没错!
      • @RahulTripathi 我参加聚会这么晚了,它还在继续吗?没关系。但是backslash 对您的回答的评论让我得救了十倍。谢谢。
      【解决方案5】:

      在我看来,将大字符串放入代码中并不是很好。

      我喜欢将文件作为资源嵌入到程序集中。可以很容易地检索此资源。这使您的代码更具可读性。

      看看:How to read embedded resource text file。这比直接存储在源代码中要好得多。

      编辑

      如果您想将您的 asp.net 代码呈现为 html,请查看:ASP.NET how to Render a control to HTML?

      【讨论】:

      • 看起来 OP 并不想在代码中放置一些字符串。我猜他试图从网上抓取一些 html 并转换为 pdf(因为提到了 pdf 转换)。
      • 哦,我以为他的代码中有一种他需要的静态模板。让我们等待OP的一些解释:)
      • @AndyKorneyev 问题是我的项目中有一个 aspx 页面。我想将该页面转换为 pdf 格式,因此我需要将该页面的 html 内容写入字符串,但内容就像 700到 800 行......那么有什么简单的方法可以做到这一点
      • @darshankodkany 您想在 asp.net 引擎的哪个位置获取 html 代码?我为您添加了示例链接。
      • @BendEg 我有一个用 html 设计的 aspx 页面,你能建议一步一步的程序将该页面转换为 pdf
      【解决方案6】:

      声明一个数据类型为字符串的变量, 字符串 szHTML =""; 整个 HTML 可以粘贴在里面。 szHTML = string.Format(@" ")

      【讨论】:

      • 不完全是:您通常在需要转义的 html 中包含引号 (")。
      猜你喜欢
      • 1970-01-01
      • 2013-03-30
      • 1970-01-01
      • 2014-03-11
      • 2021-08-04
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多