You are actually perhaps much better off using an HtmlTextWriter or even an XMLWriter than a plain StringWriter. They are going to take treatment of running away for you, in addition to seeing to it the document is well-formed.
Is there a way to create it much easier to preserve as well as compose? Using C#.
When I handle this issue in other foreign languages I go for a separation of code as well as HTML. One thing like:
1.) Make a HTML layout. use [varname] placeholders to denote replaced/inserted information.
2.) Pack your template variables from an assortment or even structure/mapping/dictionary
Recording Visual Center likewise allows effective indentation for most XML Literals and phrase wholes. Indentation for the expression openings is much better in VS2010.
If you are actually aiming to generate an HTML document comparable to exactly how you will make an XML document in C#, you could possibly try Microsoft’s available source library, the Html Agility Pack.
You could utilize some 3rd party open-source collections to generated tough keyed in confirmed (X)HTML, such as CityLizard Framework or Sharp DOM.
I’ve found amazing options for strongly-typed HTML progression (full command versions, be it ASP.NET Web Controls, or even identical to it) that merely incorporate remarkable complexity to a venture. In various other circumstances, it is ideal.
Relying on where headline stemmed from, you possibly yearn for to HTML-encode title before thoughtlessly putting it into a string.
It provides an HtmlDocument object that has an incredibly comparable API to the System.Xml.XmlDocument class.
You could possibly make use of System.Xml.Linq objects. They were actually entirely redesigned coming from the aged System.Xml times which made constructing XML from the ground up truly aggravating.
You can utilize ASP.NET to produce your HTML outside the context of internet webpages. Below’s a short article that shows how it could be done.
You can compose your very own training class with its own Render approach, as well as another features, to avoid a wonderful wreck if you utilize it a great deal, and at that point utilize the HTMLWriter or the xmlwriter. This logic is actually used in the asp.net web pages, you can easily acquire coming from webControl and bypass the provide procedure, wich is terrific if you are building server-side managements.
Performs the same sort of ‘cord switch out’ factors as discussed over, but stuffs everything in to a MailMessage for you.
This is not a general answer, nonetheless, if your pupose is to sustain or even have e-mail templates then System.Web has a built-in lesson named MailDefinition. This course is utilized due to the ASP.NET membership manages to create HTML emails.
Make use of an XDocument to develop the DOM, then write it out utilizing an XmlWriter. This are going to provide you a splendidly to the point as well as legible symbols along with perfectly formatted result.
This allows you to write direct HTML with phrase gaps in the aged ASP style and also makes your code very readable. This attribute is certainly not in C#, however you could write a singular module in VB as well as include it as an endorsement to your C# venture.
Along with the overview of Razor blade in ASP.net MVC, the greatest way to write HTML in C# is along with the Razor Motor.
I understand you asked them about C#, but if you want to make use of any.Net language at that point I highly encourage Visual Basic for this particular issue. Visual Basic has actually a component called XML Literals that will enable you to create code enjoy this.
The very most forthright ahead means is actually to make use of an XmlWriter things. This could be made use of to produce authentic HTML as well as will take care of each of the vicious retreat series for you.