2011-05-13 14 views
20

PHPs SimplXMLElement'i aşağıdakilerle nasıl başlatabileceğime dair herhangi bir fikir var mı?SimpleXml kodlama ve xmins doğru şekilde nasıl ayarlanmalıdır?

<Document></Document> 

Ya kurmak için) (simplexml_load_string kullanın do:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://earth.google.com/kml/2.2"> 

ana kök sonra olacak?

Bağlam: Bazı kml dosyaları oluşturmak için simpleXmlElement öğesini genişletiyorum.

new simpleXMLElement('<kml xmlns="http://earth.google.com/kml/2.2"> 
<Document></Document></kml>'); 

Sadece kodlama nasıl ayarlanacağı = "UTF-8" beni rahatsız ediyor, görünüşte kml geçerli: kml xmlns ayarı Aslında DÜZENLEME

yapmak gülünç kolay oldu bu kabul edilemez, ama eğer hala bunu nasıl yapacağımı anlamak isterim.

cevap

43
new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?>' 
          .'<kml xmlns="http://earth.google.com/kml/2.2">' 
          .'<Document></Document></kml>'); 
+1

Blimey, ne kadar basit. Galiba kendime varacaktım. Öyleyse, bunu düşünmenin yolu, eğer yapıcıya bir dizgisini dolaylı olarak iletmezseniz, sizin için sadece 'ı fışkırtmak olacaktır. Şerefe Oz, hoş biri. Yanlış bir şekilde, özniteliklerle uğraşmak zorunda olduğumun yanlış inanışı altındaydım. – Cups

+1

Bu aşikar olabilir, ancak sonuçta ortaya çıkan '$ root = yeni SimpleXML ... 'öğesi otomatik olarak' Belge'ye işaret etmiyor, bu yüzden '$ root-> addChild (...)' yanında bir şeyler ekleyecekti - bkz. http://sandbox.onlinephpfunctions.com/code/d33041ddf62087a5f4d7c67eb8c4983d4ef64116 – drzaus

+0

@drzaus yorumu hakkında biraz daha açıklamak gerekirse, 'Document' işaret etmiyor çünkü xml dizisindeki kök elemanın 'kml' olduğu 'Belgenin 'bir çocuğu. – PhoneixS

İlgili konular