PHP SimpleXML düğümden gerçek değerini alma

4 Cevap php

$ Değer = $ simpleXmlDoc-> someNode-> InnerNode;

aslında $ değer yerine InnerNode gerçek değerine bir SimpleXML nesnesi atar.

Yaparsam:

$value = $simpleXmlDoc->SomeNode->InnerNode . "\n";

Ben değeri olsun. Neyse olmadan gerçek değerini alma görünümlü beceriksiz . "\n"?

4 Cevap

Eğer (ve mantıklı ...) istersen türü olarak döküm. Birleştirerek, örtülü dize için döküm, böylece konum

$value = (string) $xml->someNode->innerNode;

Sen innerNode belirtmek zorunda değilsiniz.

$value = (string) $simpleXmlDoc->SomeNode;

Ne gibi bir şey gibi, bir typecast kullanma hakkında:

$value = (string)$simpleXmlDoc->SomeNode->InnerNode;

Bkz: type-juggling

Yoksa muhtemelen strval (), intval () ve tüm bu kullanabilirsiniz - sadece büyük olasılıkla daha yavaş, çünkü işlev çağrısı.

Bir dize için döküm veya bir dize bağlamda kullanmak ya:

$value = (string) $simpleXmlDoc->SomeNode->InnerNode;
// OR
echo $simpleXmlDoc->SomeNode->InnerNode;

Bkz SimpleXML reference functions guide