C# - Clean Up Poorly Formed HTML Using HTML Agility Pack?
Mar 21, 2011
I am attempting to replace this god awful collection of regular expressions that is currently used to clean up blocks of poorly formed HTML and stumbled upon the HTML Agility Pack for C#. It looks very powerful but yet, I couldn't find an example of how I want to use the pack which, in my mind, would be a desired functionality included in it. I am sure I am an idiot and cannot find a suitable method in the documentation. I had the following html:
<p class="someclass">
<font size="3">
<font face="Times New Roman">[code]....
When I utilize the HtmlNode.Remove() method it removes the node plus all it's children. Is there a way to remove the node preserving the children?
View 2 Replies
Similar Messages:
Oct 29, 2010
I am using the agility pack to do some screens scraping and my code so far to get titles is:
foreach (HtmlNode title in root.SelectNodes("//html//body//div//div//div[3]//div//div//div//div[3]//ul//li[1]//h4"))
{
string titleString = "<div class="show">" + title.InnerText + "</div>";
shows.Add(titleString);
}
Before the title I want a timestamp related to the title and it has the node /html/body/div/div/div[3]/div/div/div/div[3]/ul/li[1]/ul/li/span. How can I get this value next to the title? So something like: string titleString = "<div class="show">" + time.InnerText + " - " + title.InnerText + "</div>";
View 1 Replies
Jun 24, 2010
I have this simple string:
string testString = "6/21 <span style='font-size: x-small; font-family: Arial'><span style='font-size: 10pt; font-family: Arial'>Just got 78th street</span></span>";
how do i use the html agility pack to parse out just the text.
View 2 Replies
Feb 7, 2011
i have a problem with my application. I need to pick out a specific text between two nodes. The html page looks like this
<td align="right" width="186">Text1</td>
<td align="center" width="51">? - ?</td>
<td width="186">Text2</td>`
I can pick out Text1 and Text2 with:
HtmlNodeCollection cols = doc.DocumentNode.SelectNodes("//td[@width='186']");<br />
foreach (HtmlNode col in cols)<br />
{
if (col.InnerText == "Text1")
{
Label1.Text = col.InnerText;
}
}
The reason why i have the if-condition is because there are more td's in the page. And i need to specifically pick out the one who got "Text1" in it. But the problem is how i can parse out the text "? - ?" There are more text in the document also having the text "? - ?" but i need to pick out specifically the one between my two other nodes. The result should be Text1 ? - ? Text2 etc. I guess it has something to do with nextchild or sibling etcetera?
View 1 Replies
Apr 4, 2011
I am creating an HTML document using HTML agility pack. I load a template file then append content to it. All of this works, but when I view the output file it has removed the closing tag from my <br/> tags to look like this <br>. What is causing this?
Dim doc As New HtmlDocument()
doc.Load(Server.MapPath("Template.htm"))
Dim title As HtmlNode = doc.DocumentNode.SelectSingleNode("//title")
title.InnerHtml = title.InnerHtml & "CEU Classes"
Dim topContent As HtmlAgilityPack.HtmlNode = doc.GetElementbyId("topContent")
topContent.InnerHtml = html.ToString
doc.OptionWriteEmptyNodes = True
doc.Save(outputFileName, Encoding.UTF8)
More info:
It was removing my closing image tags, after I added doc.OptionWriteEmptyNodes = True, it quite doing that.
View 1 Replies
Jul 30, 2010
How can I loop through table and row that have an attribute id or name to get inner text in deep down in each td cell? I work on asp.net, c#, and the newest html agility package.
An html file have several tables. One of them has an attribute id=main-part. In that identified table, there are many rows. Some of those rows have same attribute name=display. In those named rows, there are many columns which I have to extract text from. Something like this:
<body>
<table>
</table>
<table>
[Code]....
View 3 Replies
Nov 12, 2010
I want to parse and page that takes POST parameters. like this is my scenario. i have to parse some search results. but the search parameter are sent in post body to that page. To parse the search result i have to send parameters to that page in POST. how i can do that with agility pack ?
View 3 Replies
Mar 9, 2011
I get the Server Tag Not Well Formed error on the following line of code.
<a class="button"><span><input id="btnEmbedCodes" type="button"
value="Click for Embed Codes" onclick='javascript:window.open("%=ExternalLink%>","ExternalFeeds","height=575,width=675,
scrollbars=yes,overflow-x:hidden")'; Style="width:165px" /></span></a>
View 3 Replies
Sep 15, 2010
I have a div server control now i want to add well formed html (<div class="xyz"> this is a div</div> )
to this div.
<div id="cms">
View 3 Replies
Jan 6, 2010
My C# site allows users to submit HTML to be displayed on the site. I would like to limit the tags and attributes allowed for the HTML, but am unable to figure out how to do this in .net.
I've tried using Html Agility Pack, but I don't see how to modify the HTML, I can see how to go through the HTML and find certain data, but actually generating an output file is baffling me.
Does anyone have a good example for cleaning up HTML in .net? The agility pack might be the answer, but the documentation is lacking.
View 6 Replies
Mar 11, 2010
I would like to add html attributes to form inputs, specifically disabled="disabled" in addition to others. I have conditional logic in the Controller that determines whether to add this html attribute or not that sets a bool IsDisabled flag in my ViewModel e.g.
class ViewModel
{
bool IsDisabled {get;set;}
}
So in my View, I want to do something like:
<%= Html.TextBoxFor(x => x.Data, new {maxlength = 30, IsDisabled ? disabled = "disabled": null}) %>
or rather something like
<%= Html.TextBoxFor(x => x.Data, new Dictionary<string, object>().Add("maxlength", "30").AddConditional("disabled", "disabled", IsDisabled) %>
Except that Add returns void, and there is no such thing as AddConditional. Is there something like an MVC HtmlAttributeBuilder class, or should I just extend Dictionary with these two extension methods?
View 4 Replies
Oct 12, 2010
I am trying to use jQuery .load() to get straight html from a asmx web service:
$('#target').load('MyService.asmx/GetHtml');
In .NET code, GetHtml() returns as string:
[WebMethod(EnableSession = false)]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Xml)]
public string GetHtml()
{
return "<span>Hi</span>";
}
That returns:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/"><span>Hi</span></string>
Notice that the string is encoded. With that encoding, $.load doesn't work right. The displayed text actually has the tags shown.
How can I get the WebMethod call to return just this?
<span>Hi</span>
View 4 Replies
Jun 10, 2010
I got a column which contains html content. The problem is, the content is not properly formatted. Meaning they consist of a big bulk of text, but without <p> or line break or proper <li>. Can anyone think of a quick way to write a script to tidy it up? I can't go through each and edit as there are like five thousands rows of them...
View 1 Replies
Jan 16, 2010
do you think it would be difficult to write a framework where mvc compares last html it output to the current html we want to output, and instead of sending the entire html, figure out what has changed and generate js code that will do the updating as compared to previous html? (presuming nothing was manually changed on the client using js).
View 2 Replies
Feb 20, 2010
The following seems reasonable, but it returns an error:
<asp:Repeater ID="RepeaterF" runat="server" DataSourceID="DSF" >
<ItemTemplate>
<%
If Eval("Item_Batch") = 0 Then
%><tr><td></td><td colspan="2"></td><td></td></tr><%
Else %>........
Error: "Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control."
I am finding it difficult to accept that the whole Repeater approach has any benefits over just creating a loop in code, iterating through a recordset, and building a html table into a variable, then dumping it to the page. This repeater is spawning pages of code and objects, and surely this is all using up server resources.
View 2 Replies
Mar 18, 2010
how can i passing a value form ActionResult to html.textbox or Html.TextBoxFor in View
View 2 Replies
Oct 24, 2010
I have to break a HTML content string in to multiple lines. And each line should have some fixed characters, 50 or 60 Also I don't want to break the word..or html tags...
ex : <p>Email: <a href="mailto:someone@gmail.com">someone@gmail.com</a></p>
<p><em>"Text goes <font color=red>Hello world</font> Text goes here and Text goes here Text goes here 1976."</em> </p>
How can I acheive this in C#?
View 1 Replies
Apr 30, 2010
I am working on an ASP.NET MVC 2 project with VS 2010 and out of nothing I get the following errors on my views:
The name 'Html' does not exist in the current context
The name 'Model' does not exist in the current context
It is like it is not recongnizing the MVC Html and Model classes.
I have System.Web.Mvc on my references and on Web.Config I have:
[Code]....
View 2 Replies
Sep 24, 2010
I want to catch the html button click event on a class file including html text box value..
[code]....
View 6 Replies
Jul 20, 2010
I think I need to drop in some escape characters, but I'm not quite sure where. Here is the javascript function I'm attempting to call:
function setData(associateValue, reviewDateValue) {
var associate = document.getElementById("Associate");
var reviewDate = document.getElementById("ReviewDate");
associate.value = associateValue;
reviewDate.value = reviewDateValue;
}
Here is the asp .net mvc line where I'm attempting to create a Radio button with a click event that calls the above function and passes data from the model as javascript parameter values.
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('<%=item.Associate%>','<%=item.ReviewDate%>' )" } )%>
The above throws a bunch of compile issues and doesn't work. A call such as the following does call the javascript, but doesn't get the data from the model.
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate' )" } )%>
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate' )" } )%>
<% String functionCall = String.Format("setData('{0}','{1}')", Html.Encode(item.Associate), Html.Encode(item.ReviewDate )) ; %>
<%= Html.RadioButton("Selected", item.Selected, new { onClick=functionCall } )%>
View 2 Replies
Mar 9, 2011
I have some data which is HTML format saved in database. Like the chat as follows.
Roy, 2/11/2011:
Sree, 2/11/2011:
But it gets saved in some HTML format in Database as follows.
[code]....
So, Is there any ways that I can show this in Text box as what I need. While debugging the code, when I did HTML Visulaliser, it showed me correct format. How can I achive this in my Textbox control.
View 2 Replies
Feb 18, 2010
I have a Microsoft MVC project with an action "Foo" whose view ("Foo.aspx") contains the lines:
<%= Html.ActionLink("mylinktext1", "bar") %>
<%= Html.ActionLink<MyController>(x => x.Bar(), "mylinktext2") %>
When I hit this from a web browser or load it from an AJAX call, it properly returns:
<a href="/bar">mylinktext1</a>
<a href="/Bar">mylinktext2</a>
But when I call the action from another view like this:
<% Html.RenderAction<MyController>(x => x.Foo()); %>
Then the links are rendered without targets.
<a href="">mylinktext1</a>
<a href="">mylinktext2</a>
Why would this be happening, and how do I work around it?
View 1 Replies
May 20, 2010
Can I integrate Html.CheckBoxFor and Html.LabelFor to create the following:
[Code]....
What type of variable should I pass in the model to hold the choises?
View 6 Replies
Jan 19, 2011
I have a textbox which I need to enter html code into (like < strong> or < em> for example).The trouble is this is causing an error writing this back to the database. A potentially dangerous Request.Form value was detected from the client (tbVOther="< strong>testIs there a way around this without turning off the request validation setting?
View 3 Replies
Apr 12, 2010
Whats the difference between Url.Action and Html.RenderActionLink in asp.net mvc?
View 1 Replies