c#调用html代码,C#格式化HTML代码帮助类 HtmlFormater

这个博客介绍了一个C#类库,用于将HTML字符串转换为XML,并提供了格式化的选项。`HtmlFormater`类包含两个静态方法,`ConvertToXml`用于转换和格式化,`ConvertToXmlDocument`则用于单纯的转换。内部使用了`SafeHtmlParser`类进行安全的HTML解析。示例代码展示了如何使用该类将HTML内容转换为格式化的XML字符串。
摘要由CSDN通过智能技术生成

public class HtmlFormater

{

public static string ConvertToXml(string str, bool bLineAndIndent)

{

XmlDocument document1 = ConvertToXmlDocument(str);

if (bLineAndIndent)

{

StringBuilder builder1 = new StringBuilder();

XmlTextWriter writer1 = new XmlTextWriter(new StringWriter(builder1));

writer1.IndentChar = ‘ ‘;

writer1.Indentation = 4;

writer1.Formatting = Formatting.Indented;

document1.DocumentElement.WriteContentTo(writer1);

return builder1.ToString();

}

return document1.DocumentElement.InnerXml;

}

public static XmlDocument ConvertToXmlDocument(string str)

{

XmlDocument document1 = new XmlDocument();

document1.LoadXml(“”);

SafeHtmlParser.ParseHtml(document1.DocumentElement, str);

return document1;

}

}

///

/// SafeHtmlParser 的摘要说明。

///

public class SafeHtmlParser

{

internal class ca

{

internal static Hashtable r;

}

// Methods

static SafeHtmlParser()

{

char[] chArray1 = new char[2] { ‘&’, ‘;’ };

SafeHtmlParser.fh = chArray1;

}

private SafeHtmlParser()

{

}

private string a()

{

StringBuilder builder1 = new StringBuilder();

int num1 = this.fg;

builder1.Append(this.e());

this.fg = num1;

if (builder1.Length == 0)

{

return null;

}

return builder1.ToString();

}

private string a(char A_0)

{

if (this.fg >= this.ff)

{

return “”;

}

int num1 = this.fd.IndexOf(A_0, this.fg);

if (num1 == -1)

{

return this.e();

}

int num2 = this.fd.IndexOf(‘

if (num2 != -1)

{

num1 = num2;

}

string text1 = this.fd.Substring(this.fg, num1 – this.fg);

this.fg = num1 + 1;

return text1;

}

private string a(out string A_0)

{

int num1 = this.fg;

A_0 = this.d();

string text1 = this.b();

this.fg = num1;

return text1;

}

……//由于代码太长了,只能粘贴部分。请需要的朋友到此处下载:C#格式化HTML代码帮助类下载 密码: pmxq

}

调用方式:richTextBox_content.Text = HtmlFormater.ConvertToXml(_content, true);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值