CXMLCreator
Описание и список методов
Класс представляет собой тег XML-документа, состоящий из атрибутов, дочерних элементов, текстового содержимого и CDATA контента.
Методы класса
Метод | Описание | С версии |
---|---|---|
CXMLCreator( string tag, boolean cdata ) |
Конструктор класса. Принимает в качестве параметра название тега. | 8.0.0 |
static CXMLCreator createTagAttributed( string heavyTag ) |
Метод создаёт тег CXMLCreator из названия тега heavyTag, записанного в особенном формате. | 8.0.0 |
static CXMLCreator encodeValueLight( string name, AnyType Value ) |
Метод создаёт дерево XML документа с именем Name и строением
Value. Name - название тега в формате heavyTag метода createTagAttributed. Value может быть любым типом данных, например, последовательностью вложенных ассоциативных массивов. Смотрите пример использования ниже. | 8.0.0 |
setCDATA | Метод устанавливает CDATA-контент тега. | 8.0.0 |
setAttribute | Метод устанавливает атрибут тега. | 8.0.0 |
setData | Метод устанавливает текстовое содержимое тега. | 8.0.0 |
setName | Метод устанавливает название тега. | 8.0.0 |
addChild | Метод добавляет элемент XML документа в список своих детей. | 8.0.0 |
getChildrenCount | Метод возвращает количество подчинённых элементов XML документа. | 8.0.0 |
getXML | Метод возвращает XML документ в виде строки. | 8.0.0 |
getXMLHeader | Метод возвращает заголовок XML документа. | 8.0.0 |
Пример
Пример применения в обработчике SOAP запросов SOAP сервера
class CMSSOAPResearch extends CSOAPServerResponser { ... function ProcessRequestBody(&$cserver, $body) { $functionName = $body->name(); $namespaceURI = $body->namespaceURI(); $requestNode = $body; if ($functionName == "Registration") { $root = new CXMLCreator("RegistrationResponse"); $root->setAttribute("xmlns", "urn:Microsoft.Search"); $regres = new CXMLCreator("RegistrationResult"); $root->addChild($regres); $prup = new CXMLCreator("ProviderUpdate"); $prup->setAttribute("xmlns", "urn:Microsoft.Search.Registration.Response"); $prup->setAttribute("revision", "1"); $prup->setAttribute("build", "1"); $regres->addChild($prup); $stat = new CXMLCreator("Status"); $stat->setData("SUCCESS"); $prup->addChild($stat); $providers = array( "Provider" => array ( "Message" => "Тестовая служба.", "Id" => "{$this->provider_id}", "Name" => "Тестовая служба. {$this->add_tittle}", "QueryPath" => $this->query_path, "RegistrationPath" => $this->registration_path, "AboutPath" => "http://www.bitrix.ru/", "Type" => "SOAP", "Revision" => "1", "Services" => array( "Service" => array( "Id" => "{$this->service_id}", "Name" => "Тестовая служба. {$this->add_tittle}", "Description" => "Тестовая служба для тестирования soap сервера.", "Copyright" => "(c) Bitrix.", "Display" => "On", "Category" => "ECOMMERCE_GENERAL", "Parental" => "Unsupported", ) ) ) ); $providersEncoded = CSOAPRequest::encodeValueLight("Providers", $providers); $prup->addChild($providersEncoded); ... return true; } return false; } }
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.