我搜索了很多但是找不到了... 我使用php制作了一个有效的xml解析器。 直到今天我在一个免费的网络主机上托管我的文件,一切正常。 今天我可以访问我的大学服务器并在那里托管我的文件。
现在由于某种原因..我不能使解析器工作,因为我在免费主机...
请查看这些文件: 工作地点:
xml文件: [http://ofear.onlinewebshop.net/asce/calendar.xml]
工作解析器是这样的:[http://ofear.onlinewebshop.net/asce/calendar.php]
(下表是xml,是希伯来语)
不工作的网站
xml文件:[http://apps.sce.ac.il/agoda/calendar.xml]
不工作的解析器是这样的:[http://apps.sce.ac.il/agoda/calendar.php]
任何人都知道为什么它不起作用..那些是相同的文件,他们应该工作。
可能是服务器问题?
calendar.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<events>
<record>
<event>ערב פתוח לקורס מורי דרך</event>
<eventDate>30/12/2010</eventDate>
<desc>בשלוחת תל אביב</desc>
</record>
<record>
<event>כנס חיפה לתיירות - 2 : נכנס יין יצאה תיירות</event>
<eventDate>22/12/2010</eventDate>
<desc>המרכז לחקר התיירות בשיתוף בית הספר לתיירות בישראל שמחים להודיע על כנס חיפה לתיירות 2 שיתקיים בחיפה בתאריכים 22-23 בדצמבר 2010. השנה יוקדש הכנס לנושא "תיירות היין"</desc>
</record>
<record>
<event>פתיחת קורס מפעילי תיירות - תל אביב</event>
<eventDate>5/12/2010</eventDate>
<desc>ימי ראשון 17:30-20:45</desc>
</record>
</events>
解析器:
<?php
$doc = new DOMDocument();
$doc->load( 'calendar.xml' );
$events = $doc->getElementsByTagName( "record" );
foreach( $events as $record )
{
$events = $record->getElementsByTagName( "event" );
$event = $events->item(0)->nodeValue;
$eventDates= $record->getElementsByTagName( "eventDate" );
$eventDate= $eventDates->item(0)->nodeValue;
$descs = $record->getElementsByTagName( "desc" );
$desc = $descs->item(0)->nodeValue;
echo "<tr><td>$event</td><td>$eventDate</td><td>$desc</td></tr>";
}
?>
经过一点调试后,我发现它停在这里:
$ doc = new DOMDocument();
之后它没有做任何事情。我认为上面的行是cos
答案 0 :(得分:1)
确保您正在检查服务器上运行的php的版本,如果它是PHP 4,那么您必须使用DOM XML。
如果它是PHP 5,请务必检查是否已安装DOM扩展。
答案 1 :(得分:0)
好的。这就是答案。 似乎DOM功能在这台服务器上不起作用。 所以我不能使用这个脚本。 我用过这个:
<?php
if (function_exists('domxml_new_doc')) {
echo "DOM XML functions are available.<br />\n";
} else {
echo "DOM XML functions are not available.<br />\n";
}
?>
并且说“DOM XML功能不可用” 所以我需要看看我能做些什么..