0

streamreaderを使用してタグに一致するすべての行を検索し、それらの間のコンテンツを編集することは可能ですか?

これまでのところ、htmlファイルのすべてのコンテンツをリッチテキストボックスに読み込むことができますが、h4タグが付いている各行を見つけて、textbox1、2、3などにロードすることをお勧めします。

どうすればいいですか?例を挙げてください、私はこれに不慣れです。

    private void loadToolStripMenuItem_Click(object sender, EventArgs e)
    {
        using (OpenFileDialog dlgOpen = new OpenFileDialog())
        {
            try
            {
                // Available file extensions
                dlgOpen.Filter = "All files(*.*)|*.*";
                // Initial directory
                dlgOpen.InitialDirectory = "L";
                // OpenFileDialog title
                dlgOpen.Title = "Open";
                // Show OpenFileDialog box
                if (dlgOpen.ShowDialog() == DialogResult.OK)
                {
                    // new StreamReader
                    StreamReader sr = new StreamReader(dlgOpen.FileName, Encoding.Default);
                    // Get all text from the file
                    string str = sr.ReadToEnd();

                    // CloseStreamReader
                    sr.Close();
                    // Show text
                    richTextBox1.Text = str;

                }

            }
4

1 に答える 1

0

からYou should use HtmlAgilityPack。とcould you give an example of how to use it with html agility pack then?

HTML敏捷性パックの使用方法に従ってください。

例もあります。ここ

正規表現を使用して検索および置換を試みないでください。このすばらしい答えは、 XHTMLの自己完結型タグを除いて、正規表現がオープンタグと一致するため、それを回避するように求められます。コメントで言われました

しかし、私はそれらを100%使用し、110%の範囲を制限しました。制限付きとは、たとえば、間に他のタグがなく<td> sometext </td>、それらすべてを置き換えたいと思っ<td> sometext and some newtext </td>ていて、正常に実行したことを意味します。Unexpectedしかし、HTMLにタグの数と最大深度があり、動作がないことを100%確信していましたIrregular。このように制限され、明確に定義されたHTMLがある場合は、これらの正規表現が役立つ可能性があります。

于 2012-11-16T05:22:58.413 に答える