PHP ile XML hazırlarken SimpleXMLElement sınıfı hatası

1 oy
0

Merhaba arkadaşlar,

PHP ile XML formatında bir dosya hazırlamak için SimpleXMLElement sınıfını kullanıyorum. Fakat aşağıdaki gibi bir hata alıyorum. Bunun nedeni nedir?

Hata kodu :

​Warning: SimpleXMLElement::addChild(): unterminated entity reference .. on line ..

Hatayı aldığım satırdaki kod aşağıdaki gibidir :

$product_xml->addChild('product_url', $product_url);

Yardımlarınız için şimdiden teşekkürler.

CEVAPLAR (1)

  • 1 oy

    Merhaba coder,

    Warning alıyorsun, hataları error_reporting(0) ile kapatarak, XML çıktını alabilirsin ama bu çok ta doğru olmayan bir çözüm olacaktır.

    Sorunun kaynağına gelecek olursak; $product_id değişkenin muhtemelen "&" (ampersand) karakteri içeriyordur. Bu karakter XML'de özel karakterdir ve herhangi bir etiket içerisinde kullanılacaksa escape edilmesi gerekmektedir. Aşağıda belirttiğim iki şekilde escape edebilirsin :

    htmlspecialchars fonksiyonu ile :

    $product_xml->addChild('product_url', htmlspecialchars($product_url));

    XML nesnesine doğrudan eleman atayarak :

    $product_xml->product_url = $product_url;

Cevap Verin

Bu soruya cevap verebilmek için üye girişi yapmalı ya da kayıt olmalısınız.

Şikayet Sebebiniz :
Cevabı silmek istediğinizden emin misiniz?
E-posta Adresiniz :
Şifreniz :
Facebook ile Giriş Yapın!

Hemen sormak veya cevaplamak için bize katılın!

Çıkış yapmak istediğinizden emin misiniz?

Evet Hayır