我想使用C#4.5打开一个css文件,一次只能更改一个文件。
这样做会给我一个例外 - 不支持 URI格式。
我正在查找的行是否可以直到插入文本 光标指向一些char?
public void ChangeColor()
{
string text = File.ReadAllText("http://localhost:8080/game/Css/style.css");
text = text.Replace("class='replace'", "new value");
File.WriteAllText("D://p.htm", text);
}
答案 0 :(得分:0)
我相信File.ReadAllText
期待文件路径,而不是网址。
不,如果不阅读和重写整个文件,就无法搜索/替换文本文件的各个部分。它只是一个文本文件,而不是数据库。
答案 1 :(得分:0)
最有效的方法是将任何想要更改css的控件声明为“runat = server”,然后修改它的CssClass
属性。没有已知的替代方法可以直接修改css文件。任何其他黑客只是......一个黑客和非常有效的方式来做到这一点。
答案 2 :(得分:0)
如前所述,File.ReadAllText不支持url。以下是WebRequest的一个工作示例:
{
Uri uri = new Uri("http://localhost:8080/game/Css/style.css");
WebRequest req = WebRequest.Create(uri);
WebResponse web = req.GetResponse();
Stream stream = web.GetResponseStream();
string content = string.Empty;
using (StreamReader sr = new StreamReader(stream))
{
content = sr.ReadToEnd();
}
content.Replace("class='replace'", "new value");
using (StreamWriter sw = new StreamWriter("D://p.htm"))
{
sw.Write(content);
sw.Flush();
}
}