edycja pliku xml / dodanie linii pod wyszukiwana linią

Odpowiedz Nowy wątek
2011-07-15 13:33
ste
0

Hej.
Mam problem z edycja pliku web.config
Chcę dodać linię w fragmencie tekstu. Wyszukuję linii która zaczyna się rewriteMap name i chcę pod nią dodać tekst.
Najłatwiejszym jednak sposobem będzie zrobienie wyszukiwania tekstu i dodania linii.

Mam takie coś jak na razie i działa, ale dodaje linię na końcu pliku.

string fName = "d:/web.config";
            StreamReader webTxt = new StreamReader(fName);
            string allRead = testTxt.ReadToEnd();
            web.Txt.Close();
            string regMatch = "rewriteMap name";
 
           if (Regex.IsMatch(allRead, regMatch))
            {
 
                StreamWriter sw;
                sw = File.AppendText("d:/web.config");
 
                sw.WriteLine(TextBox1.Text);
                sw.WriteLine("<add key = " +TextBox1.Text + "/>");
                sw.Close(); 
             }

Możecie jakoś podpowiedzieć częścią kodu co dodać lub na coś naprowadzić?
Pozdrawiam

Pozostało 580 znaków

2011-07-15 13:44
0

Append ustawia pozycję kursora na ostatnią linię.
Może istnieje funkcja typu seek, która pozwala ustawić kursor?


edytowany 1x, ostatnio: Patryk27, 2011-07-15 13:45

Pozostało 580 znaków

2011-07-18 09:36
ste

Poleciałem tak, trochę nieładnie, nieelegancko, ale swoje zadanie na daną chwilę robi.

string filePath = "d:/web.config";
            string searchText = "<add key=fake key>";
            string replaceText = "<add key=fake key>" + System.Environment.NewLine + "<add key="+ TextBox1.Text + " value="+TextBox2.Text+ "/>";
 
            StreamReader sr = new StreamReader(filePath);
            string content = sr.ReadToEnd();
            sr.Close();
 
            content = Regex.Replace(content, searchText, replaceText);
            StreamWriter sw = new StreamWriter(filePath);
            sw.Write(content);
            sw.Close();

Pozostało 580 znaków

2011-07-18 23:43
1

Dam sobie raciczkę uciąć, że web.config to plik XML, a przetwarzanie XML jest raczej banalne...


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0