想象一下,您遇到了一个大文本文件,例如HTML,并且只想编辑此文件中的一行代码。
标准方法是首先读取everthing,然后将everthing(包括已更改的文本)写回单独的文件,这在此用例中效率不高。
我想使用类似的方法在编辑器中打开文件,找到您需要的行,然后编辑此特定行。
是否有任何FileIO允许实际编辑/替换而不是普通的附加或创建?
编辑: 到目前为止,我的想法正是Rahul Singh在下面给出的例子。 但正如所提到的,如果我想到这种方法,如果你只想编辑一行甚至几行,它似乎效率不高。在我提出问题的实际问题中,该文件是一个HTML文件,其中要插入一个额外的表行。但我认为这个用例对所有包含纯文本的文件都很有意思
答案 0 :(得分:1)
您可以使用HTML Agility Pack。
这是一个灵活的HTML解析器,可构建读/写DOM并支持 普通的XPATH或XSLT.It是一个.NET代码库,允许您解析网络" HTML文件。
例如,此代码修复了HTML文件中的所有href:
HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
{
HtmlAttribute att = link["href"];
att.Value = FixLink(att); //FixLink() is your custom method
}
doc.Save("file.htm");
答案 1 :(得分:0)
首先请分享您到目前为止所尝试的内容,因为我们对您的textFile包含的数据一无所知, 首先在streamreader中读出文件并将其存储到字符串然后执行string.replace并进行编辑,您还可以使用拆分选项并通过包含函数进行检查来进行编辑。 并且你总是可以通过XSLT选项,但为此你需要使用XPath来选择