Я пытаюсь конвертировать XML-код в Dom
Я успешно создал запросы создания, обновления, удаления мыла, все работает нормально, проблема в читаемости XML-кода, немного сложнее, теперь я решил преобразовать XML в DOM
Создать действие:
/**
* Returns the soap create body for the Newsletter Entity.
*
* @param Newsletter $newsletter
* @param type $action
* @return string
*/
public function getSoapCreateNewsletterBody(Newsletter $newsletter) {
$soapBody = '
<Create xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services">
<entity xmlns:b="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<b:Attributes xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic">' .
$this->getFieldXml(self::STRING_TYPE, $newsletter->getEmail(), 'new_email') .
$this->getFieldXml(self::STRING_TYPE, $newsletter->getName(), 'new_name') .
'</b:Attributes>
<b:EntityState i:nil="true"/>
<b:FormattedValues xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"/>
<b:Id>00000000-0000-0000-0000-000000000000</b:Id>
<b:LogicalName>new_newsletter</b:LogicalName>
<b:RelatedEntities xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic"/>
</entity>
</Create>';
return $soapBody;
}
Удалить действие:
/**
* Returns the soap delete body for th Newsletter Entity
*
* @param Newsletter $newsletter
* @return string
*/
public function getSoapDeleteNewsletterBody(Newsletter $newsletter){
$soapBody = '
<Delete xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services">
<entityName>new_newsletter</entityName>
<id>' . $newsletter->getNewsletteridcrm() . '</id>
</Delete>';
return $soapBody;
}
Здесь я пытаюсь конвертировать XML в DOM, проблема с кодом ниже
/**
* Returns the soap delete body for th Newsletter Entity
*
* @param Newsletter $newsletter
* @return string
*/
public function getSoapDeleteNewsletterBody(Newsletter $newsletter){
/* Generate the DeleteRequest message */
$deleteRequestDOM = new DOMDocument();
$deleteNode = $deleteRequestDOM->appendChild( $deleteRequestDOM->createElementNS( 'http://schemas.microsoft.com/xrm/2011/Contracts/Services', 'Delete' ) );
$deleteNode->appendChild( $deleteRequestDOM->createElement( 'new_newsletter', $newsletter ) );
$deleteNode->appendChild( $deleteRequestDOM->createElement( 'id', $newsletter->getNewsletteridcrm()->ID ) );
/* Return the DOMNode */
return $deleteNode;
}
Может кто-нибудь сказать мне, как я могу это сделать ...
Заранее спасибо ...
Обновлен рабочий код:
/**
* Returns the soap delete body for th Newsletter Entity
*
* @param Newsletter $newsletter
* @return string
*/
public function getSoapDeleteNewsletterBody(Newsletter $newsletter){
/* Generate the DeleteRequest message */
$deleteRequestDOM = new DOMDocument();
$deleteNode = $deleteRequestDOM->appendChild( $deleteRequestDOM->createElementNS( 'http://schemas.microsoft.com/xrm/2011/Contracts/Services', 'Delete' ) );
$deleteNode->appendChild( $deleteRequestDOM->createElement( 'entityName', 'new_newsletter' ) );
$deleteNode->appendChild( $deleteRequestDOM->createElement( 'id', $newsletter->getNewsletteridcrm()) );
/* Return the DOMNode */
return $deleteRequestDOM->saveXML($deleteRequestDOM->documentElement);
}