Документация для разработчиков
Темная тема

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
Наверх