从写入字符串的xml文件中删除标签?
这就是字符串中的数据:
TGPU167THDD134FCPU1430
(还有更多,这只是原始输出的一小部分。)我想做的是通过一些快速代码(不是实际代码有多长,但执行需要多长时间)。这将删除所有
TGPU1
并将其输出到一个新字符串,其中只包含所有和
的
。 我正在寻找字符串中的输出,如:67341430。
我发现这个代码:
bool FoundMatch = false; try { Regex regex = new Regex(@"]+>.+?"); while(regex.IsMatch(yourstring) ) { yourstring = regex.Replace(yourstring, ""); } } catch (ArgumentException ex) { // Syntax error in the regular expression }
但它只删除哪个冷改变以删除别的东西。 但它一次只能删除一个标签。 如果我必须删除所有标签,速度不是很快。
谢谢
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(); }
您可以使用LINQ:
String.Concat( XElement.Parse(...) .Descendants("value") .Select(v => v.Value) );
如果您真的关心性能,可以直接使用XmlReader
来读取
标记并附加到StringBuilder
。
但是,这不值得,除非您的XML大到数百兆字节。