这个什么字符串中的数据是这样的:从写入字符串的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中进行操作。这样做会更简单。 –