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

188
Vistas
recorriendo elementos Xml en indesign extendscript

Estoy trabajando para leer un xml a través de un script de diseño y crear cuadros de texto. Dado este xml:

 <?xml version="1.0" encoding="UTF-8"?> <root> <project name="IPS300980XX_NEW" pagecount="50"> <styles> <style nome="xxx" font="Arial" fontsize="10" bold="2" center="2" /> <style nome="yyy" font="Times" fontsize="24" bold="1" center="1" /> <style nome="zzzz" font="Helvetica" fontsize="22" bold="2" center="1" /> </styles> </project> </root>

Estoy tratando de recorrer los nodos de "estilo", sin éxito. el código que estoy usando es el siguiente (pero probé con varias combinaciones de xmlelements, child, items, lo que sea :-(sin éxito).

"myxml" es el documento xml recién abierto. Cada variable tiene los valores esperados excepto "getTheStyle" (y en consecuencia "test").

 function creastili(){ var styles = myxml.project.styles; var list = styles.child("style"); var getTheStyle = ""; for(var i = 0; i < list.length(); i++){ getTheStyle = list[i]; test = getTheStyle.toString(); //getTheStyle is always empty. } }

¡Cualquier ayuda sería realmente apreciada! Muchísimas gracias.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Quizás tenga que usar toXMLString() en lugar de toString() .

Este código funciona para mí:

 var xml = '''<?xml version="1.0" encoding="UTF-8"?> <root> <project name="IPS300980XX_NEW" pagecount="50"> <styles> <style nome="xxx" font="Arial" fontsize="10" bold="2" center="2" /> <style nome="yyy" font="Times" fontsize="24" bold="1" center="1" /> <style nome="zzzz" font="Helvetica" fontsize="22" bold="2" center="1" /> </styles> </project> </root>'''; function creastili(xml) { var root = new XML(xml); // native Extendscript XML parser var list = root.project.styles.children(); for(var i = 0; i < list.length(); i++){ var getTheStyle = list[i]; var test = getTheStyle.toXMLString(); alert(test); } } creastili(xml);

ingrese la descripción de la imagen aquí

Puede obtener atributos de un 'estilo' de esta manera:

 var root = new XML(xml); var style = root.project.styles.children()[0]; var name = style.@nome; var font = style.@font; var size = style.@fontsize; // etc alert([name, font, size].join('\n'));
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