解析 iCal 文件的技巧
Tips for parsing an iCal file
我正在尝试根据 RFC 5545 解析 iCal 输入文件。
具体来说:
-属性 名字
- 可选参数,每个参数以分号“;”开头并且可能有多个逗号分隔的值(参数值可以用双引号引起来,在这种情况下它们可以包含冒号、分号和逗号)
-冒号 ”:”
-属性值
示例行:
> ORGANIZER;CN=Obi-WanKenobi;SENTBY="mailto:obiwan@padawan.com":mailto:laowaion@padawan.com
在这种情况下,该行将被读入缓冲区并像这样解析(当前使用 strtok):
组织者是属性名字;
CN=Obi-WanKenobi和SENTBY="mailto:obiwan@padawan.com"为参数; mailto:lauwaion@padawan.com 是 属性 值。
我不知道从哪里开始。不同的输入案例几乎是无穷无尽的,我一直无法找出一种有效的算法来涵盖所有上述案例。 strtok 是要走的路吗?或者是否有另一个具有更智能解析器的 C 库?需要有人让我走上正轨。
我正在尝试根据 RFC 5545 解析 iCal 输入文件。 具体来说: -属性 名字 - 可选参数,每个参数以分号“;”开头并且可能有多个逗号分隔的值(参数值可以用双引号引起来,在这种情况下它们可以包含冒号、分号和逗号) -冒号 ”:” -属性值
示例行:
> ORGANIZER;CN=Obi-WanKenobi;SENTBY="mailto:obiwan@padawan.com":mailto:laowaion@padawan.com
在这种情况下,该行将被读入缓冲区并像这样解析(当前使用 strtok): 组织者是属性名字; CN=Obi-WanKenobi和SENTBY="mailto:obiwan@padawan.com"为参数; mailto:lauwaion@padawan.com 是 属性 值。
我不知道从哪里开始。不同的输入案例几乎是无穷无尽的,我一直无法找出一种有效的算法来涵盖所有上述案例。 strtok 是要走的路吗?或者是否有另一个具有更智能解析器的 C 库?需要有人让我走上正轨。