我建議使用Tidy.NET清理凌亂的輸入
Tidy.NET有一個很好的API在你的「XML」得到的問題(MessageCollection
)的列表,你可以用它來解決在內存中的文本流。最簡單的事情就是一次解決一個錯誤,認爲這樣的錯誤不會很好。否則,可能會修正錯誤反向文檔順序,以便消息的偏移量保持有效,而做修補
這裏是一個HTML輸入轉換爲XHTML的例子:
整潔整齊=新整潔();
/* Set the options you want */
tidy.Options.DocType = DocType.Strict;
tidy.Options.DropFontTags = true;
tidy.Options.LogicalEmphasis = true;
tidy.Options.Xhtml = true;
tidy.Options.XmlOut = true;
tidy.Options.MakeClean = true;
tidy.Options.TidyMark = false;
/* Declare the parameters that is needed */
TidyMessageCollection tmc = new TidyMessageCollection();
MemoryStream input = new MemoryStream();
MemoryStream output = new MemoryStream();
byte[] byteArray = Encoding.UTF8.GetBytes("Put your HTML here...");
input.Write(byteArray, 0 , byteArray.Length);
input.Position = 0;
tidy.Parse(input, output, tmc);
string result = Encoding.UTF8.GetString(output.ToArray());
添加示例代碼段轉換成HTML - > XHTML – sehe 2011-04-18 10:14:01
我沒有得到這個與XML運作良好。除非我錯過了Tidy.NET不是爲XML設計的。 – 2014-10-07 15:55:41
是的。整潔意在消毒不衛生的HTML。因爲XHTML存在,所以值得一試。 – sehe 2014-10-07 15:58:43