PDA

View Full Version : مشکل در ایجاد ارتباط با xml در php



saeedfadaoddini
سه شنبه 10 اردیبهشت 1392, 21:52 عصر
سلام این فایل xml من است




<?xml version="1.0" encoding="utf-8"?>





<urlset>

<url>

<loc>

http://www.haditv.com/dmn/1/req/vod/vodid/5208/lang/en/055.html</loc>

<video:video>

<video:thumbnail_loc>

http://www.haditv.com/images/haditv1/programmes/big_5208.jpg?23938</video:thumbnail_loc>

<video:title>

A Closer Look into the Glorious Book - 055</video:title>

<video:description>

A Closer Look into the Glorious Book - 055 , </video:description>

<video:content_loc>

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN311-0111IRQ-AKA055.mp4</video:content_loc>

<video:player_loc allow_embed="yes" autoplay="ap=1">

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN311-0111IRQ-AKA055.mp4</video:player_loc>

<video:duration>

1500</video:duration>

<video:rating>

4.2</video:rating>

<video:view_count>

100</video:view_count>

<video:publication_date>

2013-04-20T04:04:04+02:00</video:publication_date>

<video:gallery_loc title="Quran">

http://www.haditv.com/dmn/1/req/vodlist/cat/1/lang/en/Quran.html</video:gallery_loc>

<video:uploader info="http://www.haditv.com/">

Hadi TV Group</video:uploader>

<video:live>

no</video:live>

</video:video>

</url>

<url>

<loc>

http://www.haditv.com/dmn/1/req/vod/vodid/4908/lang/en/.html</loc>

<video:video>

<video:thumbnail_loc>

http://www.haditv.com/images/haditv1/programmes/big_4908.jpg?60297</video:thumbnail_loc>

<video:title>

Muharram Clip (Hazrat Ali Asghar A.S) - </video:title>

<video:description>

Muharram Clip (Hazrat Ali Asghar A.S) - , Muharram Clip of Ali Asghar (A.S)<br>

</video:description>

<video:content_loc>

http://www.haditv.com/tvh/videos/MP4/256/EN/10/EN311-1012IRM-CPA006_ES.mp4</video:content_loc>

<video:player_loc allow_embed="yes" autoplay="ap=1">

http://www.haditv.com/tvh/videos/MP4/256/EN/10/EN311-1012IRM-CPA006_ES.mp4</video:player_loc>

<video:duration>

228</video:duration>

<video:rating>

4.2</video:rating>

<video:view_count>

100</video:view_count>

<video:publication_date>

2012-11-24T17:04:29+02:00</video:publication_date>

<video:gallery_loc title="Lamentations (Azadari)">

http://www.haditv.com/dmn/1/req/vodlist/cat/10/lang/en/Lamentations (Azadari).html</video:gallery_loc>

<video:uploader info="http://www.haditv.com/">

Hadi TV Group</video:uploader>

<video:live>

no</video:live>

</video:video>

</url>

<url>

<loc>

http://www.haditv.com/dmn/1/req/vod/vodid/4289/lang/en/Part7.html</loc>

<video:video>

<video:thumbnail_loc>

http://www.haditv.com/images/haditv1/programmes/big_4289.jpg?35037</video:thumbnail_loc>

<video:title>

Islam and Life - Part7</video:title>

<video:description>

Islam and Life - Part7 , </video:description>

<video:content_loc>

http://www.haditv.com/tvh/videos/256/EN/05/EN323-0511UKL-IEB007.flv</video:content_loc>

<video:player_loc allow_embed="yes" autoplay="ap=1">

http://www.haditv.com/tvh/videos/256/EN/05/EN323-0511UKL-IEB007.flv</video:player_loc>

<video:duration>

2700</video:duration>

<video:rating>

4.2</video:rating>

<video:view_count>

100</video:view_count>

<video:publication_date>

2012-11-24T17:04:29+02:00</video:publication_date>

<video:gallery_loc title="Morality (Ethics)">

http://www.haditv.com/dmn/1/req/vodlist/cat/5/lang/en/Morality (Ethics).html</video:gallery_loc>

<video:uploader info="http://www.haditv.com/">

Hadi TV Group</video:uploader>

<video:live>

no</video:live>

</video:video>

</url>

</urlset>




و این هم فایل html من



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<script type="text/javascript">
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","vq.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.write("<'table border='1′>");
var x=xmlDoc.getElementsByTagName("loc");
for (i=0;i<x.length;i++)
{
document.write("<tr><td>"
);
document.write(x[i].getElementsByTagName("video:title")[0].childNodes[0].nodeValue);
document.write("</tr><td>");
document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
document.write("</tr></td>);
}
document.write("</table>
");
</script>



</body>
</html>



حالا باید چیکار کنم که با صفحه سفید روبرو نشم:گیج:

dousti_design
سه شنبه 10 اردیبهشت 1392, 22:12 عصر
مثلا میخاید که <loc> رو چاپ کنید. مثلا آدرس ها رو:


<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
$.ajax({
url: "vq.xml",
type: "GET",
cache: false
}).done(function( html ) {
var data = $(html).find("loc").text();
document.write(data);
});
</script>

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 09:55 صبح
با اینکار فقط یک خط نمایش داده می شه برای نمایش تمامی موارد داخل فایل با حلقه بنویسم؟

dousti_design
چهارشنبه 11 اردیبهشت 1392, 10:48 صبح
این تگ های video رو برای چی میخاید؟ توی مرورگر باز میکنید خطا میده و نمیشناسه اینارو. پارسر جاوا اسکریپت هم همینطور نمیشناسه اینارو. بدون اینا کد درست کار میکنه

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 12:24 عصر
سلام مجدد ممنون که وقت می گذارید
من می خوام یه صفحه ای بسازم که توش آرشیو فیلم های داخل این فایل xml باشه
شما درست می گید فایل xml مشکل داره دارم بررسی می کنم چطور می تونم درستش کنم دوست عزیز

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 14:33 عصر
سلام دوست عزیز
ببخش انقد مزاحمت براتون درست می کنم
فایل رو همونطور که گفتید درست کردم



<urlset>
<url>
<loc>
http://www.haditv.com/dmn/1/req/vod/vodid/5208/lang/en/055.html
</loc>

<thumbnail_loc>
http://www.haditv.com/images/haditv1/programmes/big_5208.jpg?23938
</thumbnail_loc>
<title>
A Closer Look into the Glorious Book - 055
</title>
<description>
A Closer Look into the Glorious Book - 055 ,
</description>
<content_loc>
http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN311-0111IRQ-AKA055.mp4
</content_loc>
<player_loc allow_embed="yes" autoplay="ap=1">

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN311-0111IRQ-AKA055.mp4</player_loc>

<duration>

1500</duration>

<rating>

4.2</rating>

<view_count>

100</view_count>

<publication_date>

2013-04-20T04:04:04+02:00</publication_date>

<gallery_loc title="Quran">

http://www.haditv.com/dmn/1/req/vodlist/cat/1/lang/en/Quran.html</gallery_loc>

<uploader info="http://www.haditv.com/">

Hadi TV Group</uploader>

<live>

no</live>



</url>

<url>

<loc>

http://www.haditv.com/dmn/1/req/vod/vodid/5160/lang/en/007.html</loc>



<thumbnail_loc>

http://www.haditv.com/images/haditv1/programmes/big_5160.jpg?93238</thumbnail_loc>

<title>

A Closer Look into the Glorious Book - 007</title>

<description>

A Closer Look into the Glorious Book - 007 , </description>

<content_loc>

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN129-0101IRQ-AKA007.mp4</content_loc>

<player_loc allow_embed="yes" autoplay="ap=1">

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN129-0101IRQ-AKA007.mp4</player_loc>

<duration>

1500</duration>

<rating>

4.2</rating>

<view_count>

100</view_count>

<publication_date>

2013-01-17T17:38:55+02:00</publication_date>

<gallery_loc title="Quran">

http://www.haditv.com/dmn/1/req/vodlist/cat/1/lang/en/Quran.html</gallery_loc>

<uploader info="http://www.haditv.com/">

Hadi TV Group</uploader>

<live>

no</live>



</url>

<url>

<loc>

http://www.haditv.com/dmn/1/req/vod/vodid/5180/lang/en/027.html</loc>



<thumbnail_loc>

http://www.haditv.com/images/haditv1/programmes/big_5180.jpg?72597</thumbnail_loc>

<title>

A Closer Look into the Glorious Book - 027</title>

<description>

A Closer Look into the Glorious Book - 027 , </description>

<content_loc>

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN129-0101IRQ-AKA027.mp4</content_loc>

<player_loc allow_embed="yes" autoplay="ap=1">

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN129-0101IRQ-AKA027.mp4</player_loc>

<duration>

1500</duration>

<rating>

4.2</rating>

<view_count>

100</view_count>

<publication_date>

2012-12-12T15:25:29+02:00</publication_date>

<gallery_loc title="Quran">

http://www.haditv.com/dmn/1/req/vodlist/cat/1/lang/en/Quran.html</gallery_loc>

<uploader info="http://www.haditv.com/">

Hadi TV Group</uploader>

<live>

no</live>



</url>

</urlset>




اما باز هم الان خروجیش فقط لینک های html است من نمی توانم به هر موردی که دلم خواست دسترسی داشته باشم مثلا title

dousti_design
چهارشنبه 11 اردیبهشت 1392, 14:42 عصر
چرا دیگه با تغییر دادن کد بالایی به این صورت میتونید به title دسترسی پیدا کنید:


<script type="text/javascript" language="javascript">
$.ajax({
url: "vq.xml",
type: "GET",
cache: false
}).done(function( html ) {
var data = $(html).find("title").text();
document.write(data);
});
</script>

title رو به هر تگی تغییر بدید همونو براتون چاپ میکنه مثلا thumbnail_loc و...

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 15:38 عصر
خیلی ممنون کاملا درسته
اگر دوباره به مشکل خوردم مزاحمتون میشم دوست عزیز

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 15:46 عصر
سلام مجدد
به خدا شرمنده ام
میشه این لینکو یه نگاه بندازید
یه بار که صفحه رو لود میکنه دیگه هر بلایی سر کد در میارم بازم همین اطلاعات رو نشون میده
به هیچ صراطی مستقیم نیست

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 15:47 عصر
یادم رفت لینک رو بذارم:گیج:
www.9design.ir/1

dousti_design
چهارشنبه 11 اردیبهشت 1392, 16:32 عصر
خب این کد title رو میخونه و چاپ میکنه. شما دقیقا واضح توضیح بدید چیکار میخاید بکنید؟

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 16:46 عصر
من می خوام تک تک لینک های مربوط به هر ویدیو رو در جای خودش فراخوانی کنم
می خوام یه صفحه php باشه که مثلا قسمتی از اون به این شکل دربیاد




<div class="gd_1">
<div class="divAds" style="background: url('/ndata/home/1392/13920127210dcd26.gif') no-repeat;">
<a href="javascript:viod(0);">
</a>
<div style=" float: right;
height: 244px;
margin: 10px;
width: 225px;" position="relative">
<a href="javascript:viod(0);">
<div style="height: 4px;font-size:0em;">
<div class="rc2">
</div>
<div class="rc1">
</div>
</div>
</a>
<div style="text-align:justify">
<a href="javascript:viod(0);">
<embed allowfullscreen="true" allowscriptaccess="always" flashvars="file=لینک لینک دانلود فیلم در این قسمت لود بشه&amp;skin=http://farsi.khamenei.ir/flash/skins/kh_svplayer_v3.fkh" height="200" id="vPlayer22306" name="vPlayer22306" src="http://farsi.khamenei.ir/flash/kh_vplayer_v3.swf" style="position:relative; margin-top:-4px; border-radius:7px; z-index:1000;" type="application/x-shockwave-flash" width="225" wmode="transparent">
<script type="text/javascript">$('.divAds>a>div').attr('position','relative');</script>
</a>
<div>
<a href="javascript:viod(0);"></a>

<a href="لینک دانلود فیلم در این قسمت لود بشه " style=" color: #999999;
display: block;
font: 11px/11px tahoma;
position: relative;
right: 10px;
text-align: center;
width: 220px;" target="_blank">تایتل در این قسمت لود بشه </a>

</div>
</div>
<div style="height: 4px;font-size:0em;">
<div class="rc3">
</div>
<div class="rc4">

</div>
</div>
</div>
</div>
</div>



به نظرتون چه جوری از اون فایل xml می تونم به عنوان پایگاهداده استفاده کنم؟

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 16:50 عصر
این کد پلیر استفاده شده در سایت خامنه ای .ir است که برای مثال من گفتم
اگر هر کدوم از این لینک ها رو بشه سر جای خودش فراخوانی کرد میشه آرشیو فیلم درست کرد
من با این کار می خوام یه ارشیو فیلم درست کنم
به خدا ببخشید انقد وقتتون رو گرفتم
شما تا همین جا هم که انقدر وقت گذاشتید شرمندم کردید
دیگه خجالت می کشم شما رو بندازم تو زحمت
ببخشید تر خدا:خجالت:

dousti_design
چهارشنبه 11 اردیبهشت 1392, 17:25 عصر
این میره از فایل xml، دو تا فیلد برمیداره: title و loc بعدش میاد و به تعداد url هایی که توی فایل هست لینک تولید میکنه به این صورت که title که از فایل xml گرفته رو میذاره توی عنوان لینک و loc رو هم میذاره توی href:


<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
$.ajax({
url: "vq.xml",
type: "GET",
cache: false
}).done(function( html ) {
var data = $(html).find("url").each(function() {
var title = $(this).find('title').text();
var href = $(this).find('loc').text();
document.write('<a href="'+href+'">'+title+'</a>');
document.write('<hr />');
});

});
</script>

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 22:43 عصر
سلام دوست عزیز
ممنون که وقتتون رو دوباره برای من گذاشتید
دقیقا همین کد شما رو استفاده کردم ولی صفحه سفید نمایش داده شد

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 23:09 عصر
فهمیدم ایراد من چی بود این بود که تو فایل xml من urlset به جای url بود و طبیعتا نمی تونست وقتی url ای وجود نداره بخوندش
باز هم دمت گرم خیلی بزرگواری آقای رفیق انشالله جبران کنم:تشویق:

saeedfadaoddini
چهارشنبه 11 اردیبهشت 1392, 23:23 عصر
الان به یه مساله ای که برخوردم همه اطلاعات هر چی هست به هم چسبیده جدا هم نمیشه
نه تگ <br/> نه تگ <hr/> نمی دونم چیکار کنم ولی می گردم شاید پیدا کنم

dousti_design
چهارشنبه 11 اردیبهشت 1392, 23:35 عصر
خروجی کدی که قرار دادم اینه:
http://s13.postimg.org/52dfm0n87/Untitle2d.png
که فکر میکنم همونی باشه که میخای.
با این فایل xml:


<urlset>
<url>
<loc>
http://www.haditv.com/dmn/1/req/vod/vodid/5208/lang/en/055.html
</loc>

<thumbnail_loc>
http://www.haditv.com/images/haditv1/programmes/big_5208.jpg?23938
</thumbnail_loc>
<title>
A Closer Look into the Glorious Book - 055
</title>
<description>
A Closer Look into the Glorious Book - 055 ,
</description>
<content_loc>
http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN311-0111IRQ-AKA055.mp4
</content_loc>
<player_loc allow_embed="yes" autoplay="ap=1">

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN311-0111IRQ-AKA055.mp4</player_loc>

<duration>

1500</duration>

<rating>

4.2</rating>

<view_count>

100</view_count>

<publication_date>

2013-04-20T04:04:04+02:00</publication_date>

<gallery_loc title="Quran">

http://www.haditv.com/dmn/1/req/vodlist/cat/1/lang/en/Quran.html</gallery_loc>

<uploader info="http://www.haditv.com/">

Hadi TV Group</uploader>

<live>

no</live>



</url>

<url>

<loc>

http://www.haditv.com/dmn/1/req/vod/vodid/5160/lang/en/007.html</loc>



<thumbnail_loc>

http://www.haditv.com/images/haditv1/programmes/big_5160.jpg?93238</thumbnail_loc>

<title>

A Closer Look into the Glorious Book - 007</title>

<description>

A Closer Look into the Glorious Book - 007 , </description>

<content_loc>

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN129-0101IRQ-AKA007.mp4</content_loc>

<player_loc allow_embed="yes" autoplay="ap=1">

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN129-0101IRQ-AKA007.mp4</player_loc>

<duration>

1500</duration>

<rating>

4.2</rating>

<view_count>

100</view_count>

<publication_date>

2013-01-17T17:38:55+02:00</publication_date>

<gallery_loc title="Quran">

http://www.haditv.com/dmn/1/req/vodlist/cat/1/lang/en/Quran.html</gallery_loc>

<uploader info="http://www.haditv.com/">

Hadi TV Group</uploader>

<live>

no</live>



</url>

<url>

<loc>

http://www.haditv.com/dmn/1/req/vod/vodid/5180/lang/en/027.html</loc>



<thumbnail_loc>

http://www.haditv.com/images/haditv1/programmes/big_5180.jpg?72597</thumbnail_loc>

<title>

A Closer Look into the Glorious Book - 027</title>

<description>

A Closer Look into the Glorious Book - 027 , </description>

<content_loc>

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN129-0101IRQ-AKA027.mp4</content_loc>

<player_loc allow_embed="yes" autoplay="ap=1">

http://www.haditv.com/tvh/videos/MP4/256/EN/01/EN129-0101IRQ-AKA027.mp4</player_loc>

<duration>

1500</duration>

<rating>

4.2</rating>

<view_count>

100</view_count>

<publication_date>

2012-12-12T15:25:29+02:00</publication_date>

<gallery_loc title="Quran">

http://www.haditv.com/dmn/1/req/vodlist/cat/1/lang/en/Quran.html</gallery_loc>

<uploader info="http://www.haditv.com/">

Hadi TV Group</uploader>

<live>

no</live>



</url>

</urlset>

saeedfadaoddini
پنج شنبه 12 اردیبهشت 1392, 00:24 صبح
الان دوباره چک می کنم

saeedfadaoddini
پنج شنبه 12 اردیبهشت 1392, 00:33 صبح
کاملا درست شد دست گلت درد نکنه
من خودم گند زده بودم به فایل xml
url ها رو پاک کرده بودم:اشتباه:

saeedfadaoddini
پنج شنبه 12 اردیبهشت 1392, 13:46 عصر
میگم حالا میشه دقیقا همین کارا رو با کد php هم انجام داد

dousti_design
پنج شنبه 12 اردیبهشت 1392, 14:42 عصر
میگم حالا میشه دقیقا همین کارا رو با کد php هم انجام داد

یه تاپیک جدید بزن این تاپیک از بحث اصلیش خارج میشه

saeedfadaoddini
پنج شنبه 12 اردیبهشت 1392, 15:25 عصر
تا اینجا رو یافتم


<?php
// The file test.xml contains an XML document with a root element
// and at least an element /[root]/title.

if (file_exists('z.xml')) {
$xml = simplexml_load_file('z.xml');

print_r($xml);
} else {
exit('متاسفانه فایل یافت نشد');
}
?>


که این عمل فراخوانی یک فایل xml توسط کد php است