我的文本文件总是采用相同的文本格式(我没有文本文件的xsd)。
我想将数据从它映射到某个类。
是否有一些标准方法可以这样做,除了开始编写字符串解析器或一些复杂的REGEX。
我真的不想使用文本解析器,因为我们有几个人正在研究这个问题,我们每个人都有时间了解对方正在做什么。
感谢。
答案 0 :(得分:0)
解决方案:
答案 1 :(得分:0)
如果您有特殊格式,则需要您自己的解析器。
如果格式是标准格式,如 xml,yml,json,csv 等,则解析库将始终以您的语言提供。
<强>更新强>
从您提供的示例看来,格式似乎更像是 INI文件,但条目是自定义的。您可以扩展 NINI
答案 2 :(得分:0)
假设您无法将传入的文件格式更改为更易于机器读取的内容,那么您可能需要编写自己的自定义解析器。最好的方法是使用每个字段的相应数据格式(自定义枚举,日期时间,版本等)创建表示和存储所有不同类型数据的类。
尝试划分代码。例如,在这里采取以下几行:
272 298 9.663 18.665 -90.000 48 0 13 2 10 5 20009 1 2 1 257 "C4207" 0 0 1000 0 0
这可以是单个类或结构。它的构造函数可以接受上面的字符串作为参数,并且每个值都可以解析为不同的本地成员。同一个类可以有一个Save()或ToString()方法,如果需要,可以将所有值转换回字符串。
然后,父类将根据文件中的条目数包含上述结构的数组。