XMLPort Omitir etiquetas vacías

Creé un XMLport en Dynamics Nav. El problema que tengo es que aparecen etiquetas vacías en el XML y necesito eliminarlas. tengo que hacer para arreglarlo?

preguntado el 12 de junio de 12 a las 14:06

Exporte su XMLPort en formato de texto y publíquelo aquí. Es bastante difícil averiguar qué podría estar mal a partir de su descripción. -

Realmente no nos estás dando mucho con lo que trabajar aquí. Publique su definición de XMLPort para recibir ayuda. -

3 Respuestas

Debe agregar código al disparador OnBeforePassVariable de cada uno de sus elementos y atributos. Simplemente verifique si el valor está vacío y omítalo.

awesomefield - Export::OnBeforePassVariable()
IF awesomefield  = '' THEN
  currXMLport.SKIP;

Respondido el 28 de Septiembre de 16 a las 10:09

Por defecto, los elementos nuevos en un XMLport tienen sus propiedades "MinOccurs" y "MaxOccurs" establecidas en "Once". Intente establecer la propiedad "MinOccurs" para ese elemento en "Cero". Esto podría funcionar.

Respondido el 21 de Septiembre de 16 a las 21:09

Simplemente use la función XMLDoc.transformNodeToObject con esta hoja de estilo

 <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >

  <xsl:output method="xml" indent="yes" />
  <!--Remove alle empty nodes recursively-->
  <xsl:template match="node() | @*">
    <xsl:copy>
      <xsl:apply-templates select="node() | @*"/>
    </xsl:copy>
  </xsl:template>

  <!--Strip white space between nodes-->
  <xsl:template match="*[normalize-space() = '']"/>
</xsl:transform>

respondido 23 mar '20, 11:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.