toXML() публичный Метод

Convert this ContactPerson to XML.
public toXML ( DOMElement $parent ) : DOMElement
$parent DOMElement The element we should add this contact to.
Результат DOMElement The new ContactPerson-element.
Пример #1
0
    public function testContactPerson()
    {
        $contactType = "other";
        $Company = "Test Company";
        $GivenName = "John";
        $SurName = "Doe";
        $EmailAddress = array('*****@*****.**', '*****@*****.**');
        $TelephoneNumber = array('1-234-567-8901');
        $ContactPersonAttributes = array('testattr' => 'testval', 'testattr2' => 'testval2');
        $mdNamespace = Constants::NS_MD;
        $document = DOMDocumentFactory::fromString(<<<XML
<md:Test xmlns:md="{$mdNamespace}" Binding="urn:something" Location="https://whatever/" xmlns:test="urn:test" test:attr="value">
</md:Test>
XML
);
        $contactPerson = new ContactPerson();
        $contactPerson->contactType = $contactType;
        $contactPerson->Company = $Company;
        $contactPerson->GivenName = $GivenName;
        $contactPerson->SurName = $SurName;
        $contactPerson->EmailAddress = $EmailAddress;
        $contactPerson->TelephoneNumber = $TelephoneNumber;
        $contactPerson->ContactPersonAttributes = $ContactPersonAttributes;
        $contactPerson->toXML($document->firstChild);
        $contactPersonElement = $document->getElementsByTagName('ContactPerson')->item(0);
        $this->assertEquals($contactType, $contactPersonElement->getAttribute('contactType'));
        $this->assertEquals($Company, $contactPersonElement->getElementsByTagName('Company')->item(0)->nodeValue);
        $this->assertEquals($GivenName, $contactPersonElement->getElementsByTagName('GivenName')->item(0)->nodeValue);
        $this->assertEquals($SurName, $contactPersonElement->getElementsByTagName('SurName')->item(0)->nodeValue);
        $this->assertEquals(count($EmailAddress), $contactPersonElement->getElementsByTagName('EmailAddress')->length);
        foreach ($contactPersonElement->getElementsByTagName('EmailAddress') as $element) {
            $this->assertTrue(in_array($element->nodeValue, $EmailAddress));
        }
        $this->assertEquals(count($TelephoneNumber), $contactPersonElement->getElementsByTagName('TelephoneNumber')->length);
        foreach ($contactPersonElement->getElementsByTagName('TelephoneNumber') as $element) {
            $this->assertTrue(in_array($element->nodeValue, $TelephoneNumber));
        }
        foreach ($ContactPersonAttributes as $attr => $val) {
            $this->assertEquals($val, $contactPersonElement->getAttribute($attr));
        }
    }