goodron
Guest
Почему один и тот же метод возвращает объекты разных классов?
Вот метод объекта, у которого есть свойство:
, в котором записан объект класса
Результат:
DOMElement
DOMNodeList
DOMElement
Вопрос: почему getElementsByTagName возвращает объект класса DOMNodeList, хотя сам $this->xmlComponent получен с помощью этого же метода getElementsByTagName? Правда он вызывался у объекта класса DOMDocument.
Оба класса DOMDocument и DOMElement являются наследниками DomNode. Может они по разному переопредляют родительский метод?
Или возвращаемый результат зависит от структуры xml-документа?
Вот метод объекта, у которого есть свойство:
PHP:
var $xmlComponent
PHP:
DOMElement
PHP:
function insertData() {
print(get_class($this->xmlComponent)."<br>");
$data = $this->xmlComponent->getElementsByTagName("DATA");
print(get_class($data)."<br>");
foreach ($this->xmlComponent->childNodes as $componentProperty) {
if ($componentProperty->nodeType == 1 && $componentProperty->nodeName == "DATA") {
$data = $componentProperty;
}
}
print(get_class($data));
}
DOMElement
DOMNodeList
DOMElement
Вопрос: почему getElementsByTagName возвращает объект класса DOMNodeList, хотя сам $this->xmlComponent получен с помощью этого же метода getElementsByTagName? Правда он вызывался у объекта класса DOMDocument.
Оба класса DOMDocument и DOMElement являются наследниками DomNode. Может они по разному переопредляют родительский метод?
Или возвращаемый результат зависит от структуры xml-документа?