這個什麼字符串中的數據是這樣的:從寫入字符串的xml文件中移除標籤?
<temp><id>TGPU1</id><label>GPU</label><value>67</value></temp><temp><id>THDD1</id><label>ST3320620AS</label><value>34</value></temp><temp><id>FCPU</id><label>CPU</label><value>1430</value></temp>
(有更多,這僅僅是原始輸出的一個小剪斷。) 我想要做的是通過一些快速餵它代碼(不是在實際的代碼是怎麼長,但它需要多長時間來執行計算),將刪除所有
<temp><id>TGPU1</id><label>GPU</label><value>
,並輸出到一個新的字符串,只有所有的<value>
的之間的值和</value>
的。即時尋找像字符串輸出:67341430.
,我發現這個代碼:
bool FoundMatch = false;
try {
Regex regex = new Regex(@"<([be])pt[^>]+>.+?</\1pt>");
while(regex.IsMatch(yourstring)) {
yourstring = regex.Replace(yourstring, "");
}
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
,但它僅刪除< * PT>其中冷改爲除去別的東西。但它一次只能刪除一個標籤。如果我必須刪除所有標籤,速度不是很快。
感謝
PS,如果你想知道的,下面的代碼的代碼我期待這個增加。這也是印刷原始字符串上面提到的代碼:
static void Main(string[] args)
{
Console.WriteLine("Memory mapped file reader started");
using (var file = MemoryMappedFile.OpenExisting("sensor"))
{
using (var reader = file.CreateViewAccessor(0, 3800))
{
var encoding = Encoding.ASCII;
Console.WriteLine(encoding.GetString(bytes));
}
}
Console.WriteLine("Press any key to exit ...");
Console.ReadLine();
}
您應該更好地將XML加載到XElement中進行操作。這樣做會更簡單。 –