主页
Top.Mail.Ru Yandeks.Metrika
论坛:“初学者”;
当前存档:2018.04.29;
下载:[xml.tar.bz2];

向下

XML问题 找到类似的分支


Вэн ©   (2016-04-21 17:55) [0]

大家好日子。
通常,任务是开发用于处理电视节目的应用程序。 我以前与XML无关,但是以某种方式我需要将信息提取到程序中。 有2个选项:
1。 用笔将其驶入盘子;
2。 从任何站点或文件进行解析。
我在这里找到这样的网站http://www.teleguide.info/,其中列出了JTV和XMLTV格式的程序。
因此,我选择了第二个选项。 我下载了存档器。 该文件是这样的结构:

<?xml版本=“ 1.0”编码=“ utf-8”?> <!DOCTYPE电视系统“ http://www.teleguide.info/download/xmltv.dtd”> <tv generator-info-name =“ TVH_W / 0.751l” generator-info-url =“ http://www.teleguide.info/”> <channel id =“ 1”> <display-name lang =“ ru”>第一频道</ display-name> <icon src =“ http://www.teleguide.info/img/channel/1.gif” /> </ channel> <channel id =“ 2”> <display-name lang =“ ru”>俄罗斯1 </ display-name> <icon src =“ http://www.teleguide.info/img/channel/2.gif” /> </ channel> ... <programme start =“ 20160418050000 + 0300”停止=“ 20160418090000 + 0300”通道=“ 1”> <title lang =“ en”>早上好电视频道(12 +)</ title> <category lang =“ en”>娱乐性</ category> </ programme> <programme start =“ 20160418090000 + 0300”停止=“ 20160418092000 + 0300”通道=“ 1”> <title lang =“ zh-CN新闻(12 +)</ title> <category lang =“ en”>信息</ category> </ programme> <programme start =“ 20160418092000 + 0300”停止=“ 20160418095000 + 0300”通道=“ 1”> <title lang =“ zh-CN”测试购买(12 +)</ title> <category lang =“ en”>认知</ category> </ programme> <programme start =“ 20160418095000 + 0300”停止=“ 20160418105500 + 0300”通道=“ 1”> <title lang =“ ru”>祝您生活愉快! (12 +)</ title> <category lang =“ en”>认知</ category> </ programme> <programme start =“ 20160418105500 + 0300”停止=“ 20160418120000 + 0300”通道=“ 1”> <title lang =“ en”>时尚句子(12 +)</ title> <category lang =“ en”>娱乐性</ category> </ programme> .... <programme start =“ 20160424230000 + 0300”停止=“ 20160425000000 + 0300”通道=“ 503338”> <title lang =“ en”>法拉斯(12 +)</ title> <desc lang =“ en”> Policija gaudo u&#382; &#382; mog&#382; udyst&#281; 即&#353; kom&#261; vyr&#261;。 Jei vyras bus sulaikytas,jo dukra pateks和#303; na&#353; lai&#269; i&#371; prieglaud&#261;。 否&#279;达米i&#353; likti laisvi jie pab&#279; ga&#303; laukin&#281; gamt&#261;。 Faras-u&#382; uomina&#303; Portugalijos miest&#261 ;、 kuriame t&#279; vas syk&#303; lank&#279; si。</ desc> </ programme> </ tv>

从这个文件中,我想“拉”数据:

如果可能
1。 价值观 频道ID /显示名称/图标src 例如,有必要转移到ButtonGroup组件的按钮或SpeedButton,以便除了通道名称之外,该按钮还显示其图标;
2。 通过单击窗口中的频道按钮(实际上我不知道显示信息会更好,因为我不知道文件应该输出什么信息,Memo可能就足够了,并且最好在WebBroesr上显示)相应的id程序频道
3。 我找不到标准组件,也许有第三方组件,因此您可以执行Office具有功能区设置的操作,而CheckListBox(a)则仅带有按钮图标。 我想制作一个这样的程序,只添加/删除频道。

就像他们说的那样,总的来说,我想知道什么,但是如何将其翻译成Delphi语言,这里已经出现了一个问题,我需要有关此任务实施的帮助和建议。



Kerk ©   (2016-04-21 18:13) [1]

要在按钮上显示图像,您需要先下载此图像



Dimka Maslov ©   (2016-04-21 22:40) [2]

IXMLDocument允许您获取所有内容。 然后问题仍然存在,如何最好地展示它。



sniknik ©   (2016-04-22 08:43) [3]

>开发电视节目应用
那是rss,并且有很多rss-a观众。 甚至可以找到源代码。 最好使用他/她完成的程序。

为了避免产生图片/使其在浏览器中使用javascript进行操作变得更加普遍,从而基于rss频道形成了“伪站点”。 它将更容易分发。 通常,您不需要海豚……好吧,它可以在表单上放置twebrowser,而您必须阅读url,仅此而已。



Вэн ©   (2016-04-22 09:30) [4]


> Dimka Maslov©(21.04.16 22:40)[2]
>
>然后问题仍然存在,如何最好地显示它。

从总体上讲,这恰恰是这个问题,我将TXMLDocument组件扔到了表单上,似乎已经上传了文件,但是如何显示其中的信息...

似乎找到了一个有趣的例子:

XML:
<wm.exchanger.response> <BankRate direction =“ RUR / USD”> 31,6062 </ BankRate> <WMExchnagerQuerys amountin =“ WMZ” amountout =“ WMR”> <query id =“ 2224747” amountin =“ 11606,48” /> <query id =“ 2224748” amountin =“ 11606,48” /> <query id =“ 2224749” amountin =“ 11606,48” /> </ WMExchnagerQuerys> </wm.exchanger.response>

Delphi解决方案示例:
... XMLDocument.Active:= true; 用XMLDocument.DocumentElement做 开始 方向:= VarToStr(ChildNodes [“ BankRate”]。属性[“ direction”]); //获得RUR / USD BankRate:= VarToStr(ChildValues [“ BankRate”]); //获取31,6062 amountin:= VarToStr(ChildNodes [“ WMExchnagerQuerys”]。属性[“ amountin”]); //获取WMZ id:= VarToStr(ChildNodes [“ WMExchnagerQuerys”]。ChildNodes.Nodes [1] .Attributes [“ id”]); //获取2224748 结束 XMLDocument.Active:=否; ...

乍一看,一切似乎都很简单。 但是此人还有一个简单的任务-从网站获取美元汇率,然后去弄清楚...

这部分并不复杂
<channel id =“ 1”>-我不知道该怎么做,理论上id =“ i”应该以某种方式在WebBrowser或其他地方输出频道程序channel =“ i”,具体取决于信息的呈现看起来比t.s. 合适=) <display-name lang =“ ru”>第一个频道</ display-name>-应该显示在按钮的Caption属性中(例如), <icon src =“ http://www.teleguide.info/img/channel/1.gif” />-将其下载到某个目录中,从中将拉出按钮图标

这里的任务已经有点复杂了
<programme start =“ 20160418050000 + 0300” stop =“ 20160418090000 + 0300” channel =“ 1”>-以某种方式需要以正常形式启动和停止。 在此示例中,开始= 05:00 18.04.2016停止= 09:00 18.04.2016,什么是+ 0300一点也不清晰……UTC的莫斯科时间? 然后,您需要以某种方式更改时区,例如,需要哈巴罗夫斯克时间,而不是莫斯科时间,在这种情况下,您需要以某种方式用+ 0300替换+ 1000。 好吧,我上面写过的channel =“ i”-通过按下与channel =“ i”中的channel id =“ i”对应的按钮,应该加载程序列表, <title lang =“ en”>早上好电视频道(12 +)</ title> <category lang =“ en”>娱乐性</ category>-以我的理解,标题和类别可以以大致相同的方式获取=>“ BankRate:= VarToStr(ChildValues [” BankRate“]); //获得31,6062”,只有在这里给出唯一的值,我得到一个完整的列表,并且这些值与时间值相关联-当进入某个时间(开始)时,程序将选择正在进行的传输,并在传输结束之前还剩下多少时间(停止)。 </ programme>

他画了所有东西,一切看起来都很基础,只是吗? 但我不知道如何将其付诸实践。 正如我对XML所说的,您必须第一次工作...


> Kerk©(21.04.16 18:13)[1]
>
>要在按钮上显示图像,您需要先下载该图像


好吧,显然我必须这样做。 由于某些原因,我想直接从网站上紧贴图标。

但是,就3而言,即使它与主题的主题不直接相关(但是组件实际上还需要从文件的第一部分提取数据),有人可以告诉我一些吗? 也许您可以通过某种方式将通道图标插入标准CheckListBox中? 或者,也许,作为一种选择,尝试通过添加以下功能来修改CheckListBox:将图标插入其中并将其拍打为新组件...



Вэн ©   (2016-04-22 09:47) [5]


> sniknik©(22.04.16 08:43)[3]
>
quote1 >>开发用于处理电视节目的应用程序
>这是rss,并且有大量的rss-a查看器。 即使是原始的
>可以找到代码。 最好使用他/她完成的程序。
>
>
>以免被图片蒸走/使其更通用
>使用javascript在浏览器中完成所有操作,形成一个“伪站点”
>基于rss频道。 它将更容易分发。 德尔菲
>一般不需要...好吧,也许在表单上放一个twebrowser
>和您的vnem网址,仅此而已。


是的...如果我从无所事事开始编写此程序,我不会打扰,但我需要研究它,这是一项开发任务
信息系统使用动态数据结构。 提供对选定数据结构执行以下操作的能力:
1。 初始化
2。 添加新元素;
3。 删除项目;
4。 遍历数据结构;
5搜索符合指定条件的数据结构元素;
6。 在屏幕上显示数据结构的所有元素。
我有电视节目选择。
因此,很遗憾,我认为您在此处提供的选项根本无效。



Плохиш ©   (2016-04-22 09:50) [6]


> Van©(22.04.16 09:30)[4]
>
>
>> Dimka Maslov©(21.04.16 22:40)[2]
>>
Quoted1 >>,然后问题仍然存在,如何最好地显示它。
>
>这恰恰是从根本上讲这个问题
>我在表单上扔了TXMLDocument,看来是上传文件了,但是
> 如何从中显示信息。..


>我画了所有东西,似乎所有东西都是基本的,是吗? 以及如何
>付诸实践-我不知道 如我所说
> XML是第一次使用。..
>

突出显示的短语之间有什么关系?

PS。 因为 该分支不适合初学者,我冒险建议雇用设计师和程序员。



Dimka Maslov ©   (2016-04-22 10:18) [7]


>我在表单上扔的组件TXMLDocument


将组件扔到表单上确实不是问题。 问题是学习与他合作。



sniknik ©   (2016-04-22 10:18) [8]

>但是有人来了,任务似乎很简单-从网站上获得一美元汇率,然后去弄清楚...
本质没有改变,使用xml的方法也没有改变。 欢喜,您将学到更多。

>但是我需要她学习
最好使用rss,示例比使用它们的变体还要多,并且您将从广泛的格式/标准和基本上相同的xml(如果在任务中指定了xml)中学到更多好处。

> 3。 删除项目;
这是多余的...您无需编辑节目指南。 形成显示,搜索...原则上所有内容,第二天重复同一件事,而不是删除和替换。

>您在此处提供的选项根本不起作用
为什么呢? 如果您自己做的话,甚至是在网络上,作为一个教育性的事情,也都不会更差且可以实现,所有内容都是用1 .. 6编写的。
没有看到带有菜单/按钮或动态生成的网站? 还是您不相信javascript中可能存在“动态数据结构”? 徒劳的。
Web界面更难做。 而且很可能我不想为了实验室或那里的东西。



Вэн ©   (2016-04-22 19:04) [9]

> 3。 删除项目;
这是多余的...您无需编辑节目指南。 形成显示,搜索...原则上所有内容,第二天重复同一件事,而不是删除和替换。

它可能是多余的,但是如果您通过XML +实现,可以添加自定义通道列表的功能,则只需获取“删除元素”或添加即可。

例如:在我的地方,连接了带有多个频道的卫星电视,我喜欢TNT频道,但我不看它们,因此在设置电视时,我只选择自己感兴趣的电视。 原来是关于12-13个频道的,然后我没有看全部,实际上我很少打开电视本身,但这不是重点。 只是有人可以配置更多的频道,而这个人仍然可以观看所有频道! O_O在这种情况下,我们只需要在程序中配置一个模式即可配置显示的频道列表...例如,我在程序中不需要TNT,STS,有些频道通常是女性观看的(关于健身或其他=))和其他残渣(到目前为止,我无法...不在何处)进入程序设置并关闭额外的频道,以使我的眼睛不会发call,但有人想看看HOUSE-2什么时候开始( zgin不干净),并且面板上的TNT频道突然没有按钮。

对于该帐户,请删除/替换此XML文件,该文件从整个电视指南网站(包括整周)下载。 在这里它仅适合4-6p。并且文件在站点本身每周更新一次,因此可以在程序中实现-从存档站点下载,将文件解压缩到目录中并更新程序中的数据,但是首先您需要处理解析。

RCC当然也是一个有趣的话题,但是假设在将要检查该程序的计算机上是否可以访问Internet,老师将如何检查其性能? 顺便说一句,现在我看了电视指南,在Yandex上没有办法通过rss播放节目。

>所选短语之间的关系是什么?

> PS。 因为 该分支不适合初学者,我冒着要聘请设计师的风险,
>程序员。

您知道,不好……如果我有半年的时间来解决这个问题-一年,我不会在这里提出一个问题,而是想自己解决这个问题,但是直到学期末我只剩下2个月了而且我很害怕在这段时间里我没有时间,因为 我仍然需要时间交出物品...我不要求您完全为我编写程序,我需要帮助,请告诉我如何 正确地 从我在合资企业中提交的那种文件中提取出我需要的文件,在需要的地方...该死,我几乎在第二篇文章中都写了所有内容,仍然需要将所有内容转移到海豚上...

在这里,我尝试在按钮中显示频道名称

XMLDocument1.LoadFromFile(“ C:\ Users \ Angel \ Documents \ Embarcadero \ Studio \ Projects \ var4 \ tv \ xmltv.xml \ xmltv.xml”); XMLDocument1.Active:= True; SpeedButton1.Caption:= VarToStr(XMLDocument1.DocumentElement.ChildValues [“ display-name”]);

如果文件包含这样的行 <!DOCTYPE电视系统“ http://xmltv.cvs.sourceforge.net/viewvc/xmltv/xmltv/xmltv.dtd”>
然后delphi给出错误“ dtd被禁止”。 我在互联网上找到了治疗方法,试图应用-它们没有帮助。 如果您删除此行并按下魔术按钮[F9],则DELF似乎启动了该应用程序,但2-3可能不会再出现了。 虽然是这样,直到我在解析设置中打开第一个2选项。.现在已经20分钟了(如果自启动程序以来已经过去了0分钟,并且仍然保持静音状态)。

感觉好像我在某处做错了事*想*



Плохиш ©   (2016-04-26 14:18) [10]


>
>你知道,不好……如果我有时间决定
>半年完成此任务-年

您有所需的日期8-O

>现在是20分钟(如果自从0以来不超过
>我如何启动程序以执行并仍然保持静音。

通常,17行中存在错误。



sniknik ©   (2016-04-26 18:19) [11]

现在20分钟
要进行检查,请使用较小的xml ...和几千字节,而不是兆字节。
也许解析器将不得不更改,细粒度的解析器对大型文件的要求很高。 (尽管一点也不大)

这样会更正确
XMLDocument1.LoadFromFile(“ C:\ Users \ Angel \ Documents \ Embarcadero \ Studio \ Projects \ var4 \ tv \ xmltv.xml \ xmltv.xml”); SpeedButton1.Caption:= XMLDocument1.DocumentElement.ChildValues [0] .ChildValues [“显示名称”]。
您错过了频道标签。



sniknik ©   (2016-04-26 18:21) [12]

饼子
SpeedButton1.Caption:= XMLDocument1.DocumentElement.ChildNodes [0] .ChildNodes [“显示名称”]。文本; / CODE>



Страницы: 1 整个分支

论坛:“初学者”;
当前存档:2018.04.29;
下载:[xml.tar.bz2];

楼上





内存:0.65 MB
时间:0.035 c
15-1472130326年
狐狸
2016-08-25 16:05
2018.04.29
磨坊游戏


3-1317308605年
GRH
2011-09-29 19:03
2018.04.29
ADO技术


15-1472154273年
谁会怀疑
2016-08-25 22:44
2018.04.29
Wai daz可能会受到伤害


2-1461250553年

2016-04-21 17:55
2018.04.29
XML问题


2-1461655310年
Valya
2016-04-26 10:21
2018.04.29
DoubleBuffered





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法语
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 淡米尔文 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский