【问题标题】:What is format of this file?这个文件的格式是什么?
【发布时间】:2014-08-03 06:06:31
【问题描述】:

我有一个这样的文件:

+----[ 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吗?

【问题讨论】:

  • 当然,只需将整个内容包裹在 CDATA 中即可。或者您是否有一些您想要的特定 XML 格式?如果是这样,架构是什么?您是否有特别希望能够搜索或 xls 或其他内容的东西,或者您只是想要一些“存储任何通用字符串层次结构”模式,例如 plist?
  • 不,我想要特定的 XML 格式,比如 plist。
  • 如果您真的告诉我们该格式是什么,将会很有帮助。
  • 你从哪里得到这个文件的?它看起来像是一些 EPG 或 PSI,但不是我认识的格式。
  • 这是来自 IRIB TV3 的 EPG 信息。

标签: python xml file file-format formats


【解决方案1】:

用于解析此文件的语言取决于您,并且取决于您所熟悉的语言。很多人会使用 Perl,但我会使用 XSLT 2.0。

我会从一行一行开始:每行有少量不同的模式,我会翻译

+----[ Stream 0 ]

<Stream>0</Stream>

Status: Running

<Status>Running</Status>

这将为您提供 XML,第 2 阶段是将其转换为有用的 XML,您可以使用 XSLT 2.0 中的分组工具来创建类似的东西

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

但这里没有灵丹妙药;除非有人已经生成了可以重复使用的代码,否则你将不得不为这些东西编写一个解析器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多