Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

235
Vistas
Extracción de contenido cuando hay varios niños con el mismo nombre (Google Scripts JS)

No estoy seguro de cómo extraer contenido cuando hay varios elementos secundarios opcionales con el mismo nombre.

  1. Las personas pueden tener varios hijos con el mismo nombre. por ejemplo, user_defined_text_field continuación.
  2. Algunas personas pueden no tener hijos.

Esperemos que el siguiente ejemplo proporcione el contexto relevante.

FORMA DE DATOS

(Desde una API de un servicio)

 <api> <response> <service>api_search</service> <individuals count="1"> <individual id="1"> <first_name>James</first_name> <last_name>Jones</last_name> <email>jjones@gmail.com</email> <gender>M</gender> <user_defined_text_fields> <user_defined_text_field> <name>udf_text_1</name> <label>Fav Color</label> <text>Blue</text> // ****** I WANT THIS ****** <admin_only>false</admin_only> </user_defined_text_field> <user_defined_text_field> <name>udf_text_3</name> <label>Area</label> <text>Urban</text> <admin_only>false</admin_only> </user_defined_text_field> </user_defined_text_fields> </individual> </individuals> </response>

PORCIÓN ACTUAL DEL CÓDIGO PARA EXTRAER DATOS RELEVANTES

(Dentro de Google Script. Todo funciona perfectamente; solo necesito ayuda con la línea que he comentado a continuación).

 // ... const entries = fetch.getRootElement().getChild('response').getChild('individuals').getChildren(); const list = new Array(); for (let i in entries) { const first_name = entries[i].getChildText('first_name'); const last_name = entries[i].getChildText('last_name'); const email = entries[i].getChildText('email'); const gender = entries[i].getChildText('gender'); const fav_color = ??? // ****** NEED HELP HERE ****** list.push([first_name, last_name, email, gender]); }; // ...
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Descripción

Dado que user_defined_text_fields contiene una matriz de user_defined_text_field , debe recorrer la matriz de elementos secundarios para llegar al que tiene el color.

Guion

 for (let i in entries) { var first_name = entries[i].getChildText('first_name'); var last_name = entries[i].getChildText('last_name'); var email = entries[i].getChildText('email'); var gender = entries[i].getChildText('gender'); var fields = entries[i].getChild("user_defined_text_fields"); var children = fields.getChildren("user_defined_text_field"); if( children ) { for( var j=0; j<children.length; j++ ) { if( children[j].getChildText("label") === "Fav Color" ) { var fav_color = children[j].getChildText("text"); break; } } } }

Referencia

  • https://developers.google.com/apps-script/reference/xml-service/element#getChildren(String)
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda