Adding a conditional to the XML TAG

Asked

Viewed 155 times

0

I’m working on a.xml file to be sent to a service. However the question is how to add a conditional in XML, IE, I have N types of coverage that will be filled in a form and not all covers will be reported. But the data will come from the database.

Follow the example below:

<hsCobertura>
	 <entry>
		<key>$codigoTipoCobertura</key>
			<value>						
				<cdCobertura>$codigoTipoCobertura</cdCobertura>
				<isCobertura>$valorTipoCobertura</isCobertura>										
		</value>
	</entry>
	 <entry>
		<key>$codigoTipoCobertura</key>
			<value>						
				<cdCobertura>$codigoTipoCobertura</cdCobertura>
				<isCobertura>$valorTipoCobertura</isCobertura>										
		</value>
	</entry>
</hsCobertura>

  • Your question is a little fuzzy.

  • @Sam Exists as an add conditional (if or Else) in an XML tag?

1 answer

0


The solution applied was to add comment inside the XML file TAG and replace it when there was information of the type of coverage. I used the php library: str_replace and added the IF conditional. Follow the code below:

//Trecho do conteúdo do arquivo XML com o comentário inserido 
$conteudoXml = "
<hsCobertura>
  <entry>
    <key>$codigoTipoCobertura</key>
    <value>
      <cdCobertura>$codigoTipoCobertura</cdCobertura>
      <isCobertura>$valorTipoCobertura</isCobertura>
    </value>
  </entry>
  ##TIPODECOBERTURA_1##
</hsCobertura>"; 

//Comentário da TAG que será armazenado na variável.
 $atributoComentarioTipoCobertura_1 = ("##TIPODECOBERTURA_1##"); 

//Condicional para verificar se a variável foi iniciada e/ou existe. 
if (isset($codigoTipoCobertura_1)) { 

$dadosTagXML
= "
<entry>
  <key>$codigoTipoCobertura_1</key>
  <value>
    <cdCobertura>$codigoTipoCobertura_1</cdCobertura>
    <isCobertura>$valorTipoCobertura_1</isCobertura>
  </value>
</entry>"; 

//Variável que armazena a substituição do comentário na TAG do XML. 
$resultadoSubstituicaoXML = str_replace($atributoComentarioTipoCobertura, $dadosTagXML, $conteudoXml);

Browser other questions tagged

You are not signed in. Login or sign up in order to post.