2011-08-04 11 views
4

私はHtmlAgilityPackのバージョン1.4を使用していますが、理解しているように、MixedCodeDocumentと関連クラスは、asp.netとascxファイルにあるasp.netマークアップを解析するのに役立ちます。私は、MixedCodeDocumentクラスのドキュメントや例がないことを発見しました。私が試したことから、MixedCodeDocumentはファイルのテキストを非asp.netフラグメントをnonasp.netフラグメントから分離するチャンクに分割しているようです。たとえば、次のスニペット:HtmlAgilityPack MixedCodeDocumentの使用目的は何ですか?

<asp:Label ID="lbl_xyz" runat="server" Text='<%=Name%>'></asp:Label> 
<a href='#'>blah</a> 

はに分割されます:

// Text fragment 1 
<asp:Label ID="lbl_xyz" runat="server" Text=" 

// Code fragment 1 
<%=Name%> 

// Text fragment 2 (two lines) 
></asp:Label> 
<a href='#'>blah</a> 

しかし、タグが持つ独自のノードに解析されていない、すなわち、それよりも深いが行われ、解釈は、ありません属性などが含まれます。

MixedCodeDocumentは、残りのテキストフラグメントをまとめてHtmlDocumentクラスを使用して解析できるように、コードフラグメントを取り除くために使用されることが予想されます。

これが正しいかどうかは誰にも分かりますか?それとも、誰かがHAPなどを使ってaspxやascxファイルを正常に解析して操作するためのヒントを持っていますか?

答えて

1

あなたは100%正しいと思います。もともとHtmlの敏捷性パックを使用した

:-)ので、

MixedCodeDocumentクラスは二つの言語が含まれているテキストを解析することができるように設計されました、それは、などの古典的なASP、ASP.NET、ある名前HTMLや他のタイプのファイルを含む様々なファイルのツリー全体を処理し、変換することができるツールである。他のファイルのHTML部分のみを置き換える必要がある場合、このクラスはコード&とマークアップを分割するのに役立ちました。分離されたコードブロックとマークアップブロックは、他の手段で解析できます。

私は今日誰もそれを使用しているとは思わない:)

関連する問題