热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c#–从写入字符串的xml文件中删除标签?

这就是字符串中的数据:<temp><id>TGPU1</id><label>GPU</label><v

这就是字符串中的数据:

TGPU167THDD134FCPU1430

(还有更多,这只是原始输出的一小部分.)
我想做的是通过一些快速代码(不是实际代码有多长,但执行需要多长时间)来提供它将删除所有

TGPU1

并将其输出到一个新字符串,其中只包含所有之间的值.我正在寻找字符串中的输出,如:67341430.
我发现这个代码:

bool FoundMatch = false;
try {
Regex regex = new Regex(@"<([be])pt[^>]+>.+?");
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();
}

解决方法:

您可以使用LINQ:

String.Concat(
XElement.Parse(...)
.Descendants("value")
.Select(v => v.Value)
);

如果您真的关心性能,可以直接使用XmlReader来读取标记并附加到StringBuilder.
但是,这不值得,除非您的XML大到数百兆字节.


推荐阅读
author-avatar
robinqianqcs521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有