PHP - Função xmlwriter_start_element_ns ()

Definição e Uso

XML é uma linguagem de marcação para compartilhar os dados na web, XML é tanto para leitura humana quanto para máquina. A extensão XMLWriter possui internamente a API libxml xmlWriter e é usada para escrever / criar o conteúdo de um documento XML. Os documentos XML gerados por isso não são armazenados em cache e são apenas encaminhados.

o xmlwriter_start_element_ns() A função aceita um objeto da classe XMLWriter, três valores de string representando um prefixo de namespace, o nome do elemento e o uri do namespace respectivamente, como parâmetros e cria uma tag de início do elemento.

Sintaxe

xmlwriter_start_element_ns($writer, $prefix, $name ,$uri);

Parâmetros

Sr. Não Parâmetro e Descrição
1

writer(Mandatory)

Este é um objeto da classe XMLWriter que representa o documento XML que você deseja modificar / criar.

2

Prefix(Mandatory)

Este é um valor de string que representa o prefixo do namespace

3

name(Mandatory)

Este é um valor de string que representa o nome do elemento.

4

uri(Mandatory)

Este é um valor de string que especifica o uri do namespace.

Valores Retornados

Esta função retorna um valor booleano que é TRUE em caso de sucesso e FALSE em caso de falha.

Versão PHP

Esta função foi introduzida pela primeira vez no PHP Versão 5 e funciona em todas as versões posteriores.

Exemplo

O exemplo a seguir demonstra o uso do xmlwriter_start_element_ns() função -

<?php
   //Creating an XMLWriter
   $writer = new XMLWriter();

   //Opening a writer
   $uri = "result.xml";
   $writer = xmlwriter_open_uri($uri);

   //Starting the document
   xmlwriter_start_document($writer);

   //Creating XML elements
   xmlwriter_set_indent($writer,TRUE);
   xmlwriter_set_indent_string($writer, "    ");

   //Starting an element
   xmlwriter_start_element($writer, 'Data');

   //Starting a namespaced element tag
   xmlwriter_start_element_ns($writer, 'ns', 'name', 'test.uri');

   //Adding text to the element
   xmlwriter_text($writer, 'sample_data');  
   xmlwriter_end_element($writer);

   //Ending the element
   xmlwriter_end_element($writer);

   //Ending the document
   xmlwriter_end_document($writer);
   print("XML Document Created");
?>

Isso irá gerar o seguinte documento XML -

<?xml version="1.0"?>
<Tutorial>
   <ns:name xmlns:ns="test.uri">JavaFX</ns:name>
   <Author>Krishna</Author>
   <Pages>535</Pages>
</Tutorial>

Exemplo

A seguir está o exemplo desta função no estilo orientado a objetos -

<?php
   //Creating an XMLWriter
   $writer = new XMLWriter();

   //Opening a writer
   $uri = "result.xml";
   $writer -> openUri($uri);

   //Starting the document
   $writer->startDocument();

   //Creating XML elements
   $writer->setIndent(TRUE);
   $writer->setIndentString("    ");

   //Starting an element
   $writer->startElement('Data');

   //Starting a namespaced element tag
   $writer->startElementNs('ns', 'name', 'test.uri');

   //Adding text to the element
   $writer->text('sample_data');  
   $writer->endElement();

   //Ending the element
   $writer->endElement();

   //Ending the document
   $writer->endDocument();
   print("XML Document Created");
?>

Isso irá gerar o seguinte documento XML -

<?xml version="1.0"?>
<Data>
   <ns:name xmlns:ns="test.uri">sample_data</ns:name>
</Data>