2015-09-11 4 views
0

У меня есть HTML код, который мне нужно сохранить в строке, но html-код очень большой, как мне это сделать? Эта проблема возникла сейчас, когда и я не знаю много около C# путем поиска в сети Я нашел код для преобразования html-кода в PDF, но перед этим мне нужно сохранить его в строке. Мне нужно руководствоваться этим.Хранение HTML-кода в строке

+2

Я действительно сомневаюсь, что ваш html-код достаточно большой, чтобы превысить возможный предел длины строки в C#. Даже в среде x86 и старых версиях .NET ограничение размера для любого объекта .NET было около 2 ГБ - это должно быть достаточно для любого используемого в действительности кода html. Итак, какова ваша ** настоящая ** проблема? –

+0

- это код html в файле? –

ответ

1

Вы можете сохранить код HTML в своей строке, просто разместив его внутри кавычек. Единственное, что вы должны иметь в виду, это то, что вам нужно «убежать» от кавычек в своих строках, где бы вы их не нашли в своем HTML-коде.

Что-то вроде:

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

обратной косой \ избежит "" в вашем HTML-коде.

Как Энди прокомментировал теоретический предел для хранения строки, составляет 2 ГБ, что составляет приблизительно 2 147 483 647 символов, но вы можете сделать что-то большее.

+0

Ну, 2Gb технически не всегда 2,147,483,647 символов, так как строки могут быть закодированы в кодировке Юникод. Так что в худшем случае это половина этого значения. –

+0

@ ЭндиКорнеев: - Хм, это правильно! –

+1

@RahulTripathi Я так опаздываю на вечеринку, это еще не все? Неважно. Но комментарий «обратной косой черты» вашего ответа только что спас меня в десять раз. Спасибо. – davvv

2

В дополнение к методу Рахула вы также можете использовать символ @ перед строкой, чтобы избежать всего.

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

также можно записать в виде:

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

Ввод больших строк в коде не очень хорошо в моей точки зрения.

Мне нравится встраивать файл в качестве ресурса в сборку. Этот ресурс можно получить очень легко. Это делает ваш код более читабельным.

Посмотрите на: How to read embedded resource text file. Это намного лучше, чем хранить его непосредственно в исходном коде.

EDIT

Если вы хотите сделать свой код ASP.NET для HTML, обратите внимание на: ASP.NET how to Render a control to HTML?

+0

Не выглядит, что OP хочет поместить некоторую строку в код. Я думаю, он пытается захватить некоторые html из Интернета и конвертировать в pdf (так как упоминалось о преобразовании PDF). –

+1

О, я думал, что у него есть своего рода статический шаблон, который ему нужен в коде. Давайте подождем некоторое объяснение от OP :) – BendEg

+0

@AndyKorneyev У меня есть aspx-страница в моем проекте. Я хочу преобразовать эту страницу в pdf, поэтому мне нужно написать html-контент этой страницы для вставки, но контент как 700-800 строк ... так что есть какой-нибудь простой способ сделать это –

1

В то время как другие ответы абсолютно верно, но с добавлением \ перед каждой "немного трудно .

Еще один вариант, который вы можете рассмотреть, - это сохранить его в свойстве свойств. Когда вы пишете в настройке конструктора свойств или вставляете свое значение там, за сценой он кладет \ там, где это необходимо, и вам не нужно ничего делать еще.

Также редактор ресурсов сделает то же самое для вас.

0

Есть способы добавить (HTML) текст к вашему C# -коду, как предложили другие. Однако, если текст очень большой, это становится трудно управлять.

Почему бы не сохранить HTML в отдельном файле и использовать File.ReadAllText, чтобы прочитать его в вашей программе? Таким образом, вы можете редактировать этот HTML-источник как настоящий HTML вместо строкового литерала.

0

объявляет переменную типа данных string, string szHTML = ""; Весь HTML может быть вставлен внутри. szHTML = строка.Формат (@ "")

+0

Не совсем: у вас обычно есть кавычки ('' ') внутри этого html, которые нужно экранировать. –

Смежные вопросы