[英]Find & replace certain text within a node in an XML file
我有一個XML,其中我有許多包含路徑的節點,如果找到某些信息,我可能需要更改一些路徑。
例如,可能存在這樣的節點:
<File name="dev\Desktop\Working\Test\English\1312\myopic.dll">
我需要找到路徑中具有4位數字的所有路徑(如上面的“1312”),並將其更改為%NUM%。
什么是最好的方法? 我的第一個想法是使用RegEx,但從一些搜索來看,這似乎是一個壞主意?
也許LINQ to XML(我對此有一些有限的經驗)?
它是XML,所以為什么不使用XElement 。
另一方面,如果這是一次性的事情並且您想要知道模式不會出現在XML的錯誤部分中,那么正則表達式實現起來要快得多。
newFileContents = Regex.Replace(
fileContents,
@"(?<=dev\\Desktop\\Working\\Test\\English\\)\d+",
"%num%);
我認為Regex在這里是最有效的解決方案,根本不是壞主意
string path = @""<File name=""dev\Desktop\Working\Test\English\1312\myopic.dll"">";
string pattern = @"\d\d\d\d";
Regex regex = new Regex(pattern);
string replacement = "%NUM%";
string result = regex.Replace(input, replacement);
//result is: <File name="dev\Desktop\Working\Test\English\%NUM%\myopic.dll">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.