好吧,最初的问题是它不是XML格式。iCalendar文件被标记为文本:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY;LANGUAGE="en_US":Bastille Day Party
END:VEVENT
END:VCALENDAR
因此,用xpath和xslt解析可能是一个挑战。但是,有一个XML
代表
艾琳达尔。您可以在
xCal Basic
规范。上面的示例(来自该规范)如下所示:
<?xml version="1.0" TODO_NAMESPACE="foo"?>
<iCalendar xmlns:xCal="urn:ietf:params:xml:ns:xcal">
<vcalendar>
<version>2.0</version>
<prodid>-//hacksw/handcal//NONSGML v1.0//EN</prodid>
<vevent>
<dtstart>19970714T170000Z</dtstart>
<dtendt>19970715T035959Z</dtend>
<summary xml:lang="en_US">Bastille Day Party</summary>
</vevent>
</vcaledar>
</iCalendar
(我是从草稿中复制的,因此是奇数名称空间)。有更多关于
OASIS Coverpages
站点及在
CalConnect blog
(这是最新的)。
如果可以从一个转换到另一个,那么可以使用xpath语句解析它。如果没有,则可以分析文本。我不知道我害怕的任何实现。