我正在研究使用TVRage Api,显示信息搜索API以标准XML格式返回。
但是,Schedule“API”以奇怪的Square-Bracket格式返回。它看起来像XML,但不像标准XML那样封装元素。
例如,在XML中,您可以期待以下内容:
<Day>
<Date>Monday, 23 Sep 2013</Date>
<Time>05:00pm</Time>
<Show>MBC Sports Tonight</Show>
</Day>
但它会以下列格式返回:
[DAY]Monday, 23 Sep 2013[/DAY]
[TIME]05:00 pm[/TIME]
[SHOW]NBC Sports Tonight[/SHOW]
[TIME]05:30 pm[/TIME]
[SHOW]Pro Football Talk[/SHOW]
[DAY]Monday, 24 Sep 2013[/DAY]
[TIME]06:00 pm[/TIME]
[SHOW]NBC Sports Tomorrow[/SHOW]
有没有人知道这种格式是什么,以及是否有一种标准方法可以将其转换为C#中的对象,或者我是否需要创建自己的解析器来处理它。
看起来很奇怪他们会在标准XML中使用他们的搜索源,并且他们的日程安排不是标准格式。
所以如果有人能在这个输出上给我启发,我会非常感激。
干杯, 克里斯
答案 0 :(得分:2)
我想回答这个问题。
我创建了一个漂亮的字符串扩展,它接受了带有[]格式的字符串,并在自定义创建的,结构良好的XML文档中返回了一个包含结果的字符串。
然后我创建了一个C#类,它模仿了我刚刚创建的结构。
我创建了另一个字符串扩展,它接受了XML并返回了一个匹配的强类型对象(我创建的C#类)。
然后我又在TVRage网站上看了一遍,因为我想知道我可以用这个名称来调用哪些参数。
...
然后我注意到这个“Schedule”API旁边有一个“FULL Schedule”链接......这与我正在使用的Schedule链接相同,除了已经是XML格式。
<强>卫生署强>
如果有人和我一样愚蠢,请找到要使用的正确网址:
祝你有个美好的一天, 克里斯