Autor | Zpráva | ||
---|---|---|---|
Darker Profil |
#1 · Zasláno: 9. 5. 2012, 17:26:33
Udělal jsem toto:
class CeiXML extends SimpleXMLElement { public function niceXML() { $dom = new DOMDocument('1.0'); $dom->presevreWhiteSpace = false; $dom->formatOutput = true; $dom->loadXML($this->asXML()); return $dom->saveXML(); } } $n = new SimpleXMLElement("<body></body>"); echo $n->niceXML(); Fatal error: Call to undefined method SimpleXMLElement::niceXML() in C:\[...]\UpdateServer.php on line 107 Dost mě to mate. |
||
Mike8748 Profil |
#2 · Zasláno: 9. 5. 2012, 17:38:57
řádek 10, musíš vytvářet instanci CeiXML, ne SimpleXmlElement
|
||
Darker Profil |
#3 · Zasláno: 9. 5. 2012, 17:50:37 · Upravil/a: Darker
Aha, chápu.
A jde to udělat tak, aby se funkce oběvila v původní třídě? Případně nějak na existující SimpleXMLElement nasadit CeiXML? No, moc nechápu proč mi funkce vrací neformátované XML: <?xml version="1.0" encoding="ISO-8859-1"?> <clients> <client version="1.0" date="1.1.2012">127.0.0.1</client> <client version="1.0" date="9.05.2012">192.168.0.3</client></clients> |
||
Nox Profil |
#4 · Zasláno: 9. 5. 2012, 17:57:22
Co znamená "na existující SimpleXMLElement nasadit CeiXML"? Prostře používej teda CeiXML (new CeiXML)
Extends nerozšíří danou třídu, ale vytvoří novou, dědící tu původní, má k dispozici její výbavu ... ale samozřejmě ji nepřepíše |
||
Darker Profil |
#5 · Zasláno: 9. 5. 2012, 18:03:52
Nox:
Co ale udělat s návratovou hodnotou funkce simplexml_load_file? Teď ji nemohu použít, musím používat výhradně OOP. Nevím jestli mě to ve skutečnosti nějak omezuje, ale zajímá mě jak to vyřešit. A proč mi nefunguje DOMDocument::formatOutput někdo netuší? Dřív (rok zpět) mi to fungovalo jak mělo. |
||
Časová prodleva: 12 let
|
0