簡體   English   中英

查找並替換XML文件中節點內的某些文本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM