Saya yakin saya memiliki kesalahan sintaks atau sesuatu? Saya yakin ini ada hubungannya dengan xml atau sintaksis. Semuanya tampak beres ketika saya melihat ke dalam file. Kesalahan ini berkaitan dengan modul notifikasi penyihir, benar? Masalahnya adalah saya tidak melihat kode yang rusak seperti: <! DOCTYPE HTML PUBLIC "- // IETF // DTD HTML 2.0 // EN">
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Space required after the Public Identifier in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SystemLiteral " or ' expected in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SYSTEM or PUBLIC, the URI is missing in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Opening and ending tag mismatch: hr line 7 and body in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): </body></html> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Opening and ending tag mismatch: body line 4 and html in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Premature end of data in tag html line 2 in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Space required after the Public Identifier in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SystemLiteral " or ' expected in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : SYSTEM or PUBLIC, the URI is missing in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Opening and ending tag mismatch: hr line 7 and body in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): </body></html> in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): ^ in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Opening and ending tag mismatch: body line 4 and html in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:24+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 9: parser error : Premature end of data in tag html line 2 in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
2017-11-16T23:12:34+00:00 ERR (3): Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Space required after the Public Identifier in /var/www/code/www.oop.com/releases/20171116222810/public_html/app/code/local/Magestore/Magenotification/Model/Magenotification.php on line 126
Ini adalah baris 126 di Magenotification.php
try {
$xml = new SimpleXMLElement($data);
}
Sama sekali tidak membantu saya.
Magenotification.php
class Magestore_Magenotification_Model_Magenotification extends Mage_Core_Model_Abstract
{
const XML_FREQUENCY_PATH = 'magenotification/general/frequency';
const XML_LAST_UPDATE_PATH = 'magenotification/general/last_update';
const XML_MAGESTORE_URL_PATH = 'magenotification/general/magestore_url';
public function _construct()
{
parent::_construct();
$this->_init('magenotification/magenotification');
}
public function checkUpdate()
{
$timestamp = Mage::getModel('core/date')->timestamp(time());
if (($this->getFrequency() + $this->getLastUpdate()) > $timestamp)
{
return $this;
}
$notificationXml = $this->getNotificationData();
$noticeData = array();
if ($notificationXml && $notificationXml->item)
{
foreach ($notificationXml->item as $item) {
$item_data = array(
'severity' => (int)$item->severity,
'date_added' => $this->getDate((string)$item->date_added),
'title' => (string)$item->title,
'description' => (string)$item->description,
'url' => (string)$item->url,
'added_date' => $this->getDate((string)$item->date_added),
'related_extensions' => strtolower($item->related_extensions)
);
if($this->allowGetFeed($item_data)){
$noticeData[] = $item_data;
}
}
if($noticeData)
{
$this->parse(array_reverse($noticeData));
$this->setLastUpdate();
}
}
return $this;
}
public function allowGetFeed($item)
{
if($item['related_extensions'] == null || $item['related_extensions'] == '0'){
return true;
}
$modules = Mage::getConfig()->getNode('modules')->children();
foreach ($modules as $moduleName => $moduleInfo) {
if ($moduleName==='Mage_Adminhtml') {
continue;
}
if ($moduleName==='Magestore_Magenotification') {
continue;
}
if(strpos('a'.$moduleName,'Magestore') == 0){
continue;
}
$extension_code = str_replace('Magestore_','',$moduleName);
$related_extensions = explode(',',$item['related_extensions']);
if(count($related_extensions)){
foreach($related_extensions as $related_extension){
if(strtolower($related_extension) == strtolower($extension_code)){
return true;
}
}
}
}
return false;
}
public function getLastUpdate()
{
$timestring = Mage::getStoreConfig(self::XML_LAST_UPDATE_PATH);
return strtotime($timestring);
}
public function setLastUpdate()
{
$config = Mage::getModel('core/config');
$timestamp = Mage::getModel('core/date')->timestamp(time());
$config ->saveConfig(self::XML_LAST_UPDATE_PATH,$timestamp);
$config->cleanCache();
}
public function getFrequency()
{
return Mage::getStoreConfig(self::XML_FREQUENCY_PATH) * 3600;
}
public function getMagestoreUrl()
{
$lastTimeNotice = strtotime($this->getLastNotice()->getAddedDate());
return Mage::getStoreConfig(self::XML_MAGESTORE_URL_PATH) .'/magenotification/service/getfeed3/lastupdatetime/'. $lastTimeNotice;
}
public function getNotificationData()
{
$curl = new Varien_Http_Adapter_Curl();
$curl->setConfig(array(
'timeout' => 2
));
$curl->write(Zend_Http_Client::GET, $this->getMagestoreUrl(), '1.0');
$data = $curl->read();
if ($data === false) {
return false;
}
$data = preg_split('/^\r?$/m', $data, 2);
$data = trim($data[1]);
$curl->close();
try {
$xml = new SimpleXMLElement($data);
}
catch (Exception $e) {
return false;
}
return $xml;
}
public function getNotificationXml()
{
try {
$data = $this->getNotificationData();
$xml = new SimpleXMLElement($data);
}
catch (Exception $e) {
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8" ?>');
}
return $xml;
}
public function getDate($rssDate)
{
return gmdate('Y-m-d H:i:s', strtotime($rssDate));
}
public function parse($data)
{
if(count($data))
{
try{
foreach($data as $item)
{
if(!$this->is_existedUrl($item['url']) )
{
$this->setData($item)->save();
$this->setId(null);
}
}
} catch(Exception $e) {
Mage::getSingleton('core/session')->addError($e->getMessage());
}
}
}
public function is_existedUrl($url)
{
$collection = $this->getCollection()
->addFieldToFilter('url',(string)$url);
if($collection->getSize())
return true;
return false;
}
public function getLastNotice()
{
$item = $this->getCollection()
->setOrder('added_date','DESC')
->getFirstItem();
return $item;
}
}
Ditemukan Dokumen telah dipindahkan ke sini. Apache / 2.4.10 (Debian) Server di www.magestore.com Port 80 String tidak dapat diuraikan sebagai XML
Ditemukan Dokumen telah dipindahkan ke sini. Apache / 2.4.10 (Debian) Server di www.magestore.com Port 80 String tidak dapat diuraikan sebagai XML
Ketika saya klik di sini itu memunculkan beberapa xml dan pesan di bawah, saya kira itu berarti ada sesuatu yang salah dengan tag saluran:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<channel/>
Magenotification.php
?Jawaban:
Bagi siapa saja yang mungkin menemukan ini, perbaikan 'cepat' ada di bawah:
Perbarui baris ini:
Untuk:
Tampaknya Magestore telah mengubah URL pemberitahuan mereka, sehingga pembaruan di atas harus diperbaiki.
Saya percaya memperbarui ekstensi Magestore_Magenotification ke versi terbaru adalah perbaikan yang disarankan. Namun, ini akan dilakukan jika Anda ingin menghentikan system.log yang penuh dengan kesalahan ini.
sumber
Jelas, ada sesuatu yang salah dengan file XML yang coba diurai.
Bisakah Anda mengubah kode berikut:
untuk:
Dan memposting hasilnya di sini? Seharusnya mencetak data XML yang ingin diurai dan itu pesan kesalahan, saya yakin itu menunjukkan sesuatu yang bermanfaat.
sumber
Saya melihat bahwa 3 diberitahukan untuk Anda.
Itu berarti Url Anda mengembalikan string HTML dan bukan string XML yang dapat Anda debug itu dan mencetak respon HTML , saya pikir controller Anda salah bukan SimpleXMLElement
Diperbarui
Izinkan saya menjelaskan lebih lanjut
$ this-> getMagestoreUrl () <== Ini adalah permintaan url Anda (tunjukkan) ..
$ data = $ curl-> read (); ini adalah teks respons Anda dari pengontrol (var_dump atau print_r) data ini.
sumber