代码之家  ›  专栏  ›  技术社区  ›  user3726821

此文件的格式是什么?

  •  0
  • user3726821  · 技术社区  · 10 年前

    我有一个这样的文件:

    +----[ Stream 0 ]
    |
    | Type: Video
    | Codec: H264 - MPEG-4 AVC (part 10) (h264)
    | Original ID: 1030
    |
    +----[ IRIB TV3 [Program 103] ]
    |
    | Status: Running
    | Type: Digital television service
    | Now Playing: میان برنامه
    | Publisher: IRIB
    |
    +----[ EPG IRIB TV3 [Program 103] ]
    |
    | 2014-08-03 14:42:00:Hello
    |
    +----[ Stream 1 ]
    |
    | Type: Audio
    | Codec: MPEG AAC Audio (mp4a)
    | Original ID: 1031
    |
    +----[ end of stream info ]
    

    这个文件的格式是什么?有什么简单的方法可以把它转换成XML吗?

    1 回复  |  直到 10 年前
        1
  •  0
  •   Michael Kay    10 年前

    用于解析此文件的语言由您决定,具体取决于您所熟悉的语言。许多人会使用Perl,但我会使用XSLT2.0。

    我会一行一行地做:有少量不同的模式,我会翻译

    +----[ Stream 0 ]
    

    <Stream>0</Stream>
    

    Status: Running
    

    <Status>Running</Status>
    

    这将为您提供XML,第2阶段是将其转换为有用的XML,您可以使用XSLT2.0中的分组工具创建类似

    <Report>
      <Stream nr="0">
        <Type>Video</Type>
        ...
        <Program nr="103">
          <Status>Running</Status>
          ...
        </Program>
      </Stream>
      <Stream>...
    </Report>
    

    但这里没有魔法子弹;除非有人已经生成了可以重用的代码,否则您必须为这些内容编写解析器。