2011-10-04 19 views
5

Quiero atravesar todos los nodos de un if_ixml_document. ¿Cuál es la mejor manera de hacer esto?Abap: ¿atraviesa los nodos completos de un documento xml?

Encuentra el documento de muestra.

<text> 
    <id> 
     <guid auto="false"> 
       432543254543 
     </guid> 
    </id> 
    <title> 
     <short_title italics="on"> 
       <bold language = "german"> 
        "Hello" 
       </bold> 
     </short_title> 
    </title> </text> 

En este documento, tengo que recorrer a través de los nodos <text>, <id>, <guid> , <title>, <short_title>, <bold> etc.

Gracias de antemano

Saludos, Alex

Respuesta

2

Puede encontrar un extensive XML manual on SAP's documentation website (en caso de que el enlace no funcione correctamente, vaya a la Guía del desarrollador de NetWeaver en help.sap.com y busque 'biblioteca xml').

El capítulo 'iXML ABAP Objects Jumpstart' debe comenzar rápidamente. El párrafo 'interactuando sobre la completa DOM-árbol' ofrece el siguiente código de ejemplo:

data: iterator type ref to if_ixml_node_iterator, 
     node  type ref to if_ixml_node. 
iterator = document->create_iterator(). 
node = iterator->get_next(). 
while not node is initial. 
    * do something with the node 
    ... 
    node = iterator->get_next(). 
endwhile. 
-1

Puede utilizar la interfaz de DocumentTraversal que debe aplicarse por cualquier biblioteca DOM (Xerces lo tiene):

Document doc = ...; 
NodeIterator i = ((DocumentTraversal) doc).createNodeIterator(doc, 
     NodeFilter.SHOW_ELEMENT, null, false); 
Element e = null; 
while ((e = (Element) i.nextNode()) != null) { 
    // do stuff with element 
} 
+0

La pregunta es marcado como una pregunta ABAP, por lo que supongo que es para el lenguaje ABAP. Tal vez @ user871912 puede simplemente confirmar. – mydoghasworms

+0

@mydoghasworms. Concedido. Sin embargo, aunque resulta que ABAP admite las mismas interfaces, aunque en * ligeramente * diferente sintaxis :-) –

4

El primer paso es analizar su XML de la siguiente manera. Por supuesto, puede cargar el XML de un archivo en la cadena, pero esto es sólo un ejemplo:

data: lr_xml type ref to cl_xml_document. 
data: lr_node type ref to if_ixml_node. 
data: lv_xml type string. 

lv_xml = '<text> <id> <guid auto="false"> 432543254543 </guid> </id> <title> <short_title italics="on"> <bold language = "german"> "Hello"</bold> </short_title> </title> </text>'. 

create object lr_xml. 

lr_xml->parse_string(lv_xml). 
lr_node = lr_xml->get_first_node(). 

Ahora usted tiene una instancia de IF_XML_NODE que apunta a la raíz del documento XML. Ahora puede usar los diversos métodos para recorrer el árbol XML y obtener valores de él, utilizando los diversos métodos, como GET_CHILDREN, GET_ATTRIBUTES, GET_NAME, etc.

Esto estará bien para documentos XML bastante pequeños, aunque para la eficacia Si está buscando un conjunto específico de nodos, le recomendamos que consulte una consulta XPATH.

+0

muchas gracias por la respuesta. En primer lugar, no estoy buscando ningún conjunto específico de nodos. Estoy escribiendo un método muy genérico, como cambiar el valor del atributo de todos los elementos en alguna condición. A partir de este código, seguramente obtendré el nodo raíz. pero después de que si estoy usando métodos como get_children, obtendré solo el hijo inmediato del nodo raíz. En el documento de muestra obtendré los elementos y pero no conseguiré el niño dentro de esos. Estoy buscando un método que pueda atravesar todos los elementos en el documento. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/871912/">Alex</a></span> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+1</span></div> <div class="col-lg-11"> <p class="commenttext">Correcto, solo le proporciona a los niños inmediatos. Lo que debe hacer es escribir una subrutina recursiva para recorrer todo el documento. Esperemos que tenga tiempo pronto para darle un ejemplo. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/274354/">mydoghasworms</a></span> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">1<i class="fa fa-thumbs-up"></i></span> </div> <div class="post-offset"> <div class="answer fmt"> <p>espero siguiente ejemplo puede aclarar la situación:</p> <pre><code class="prettyprint-override">DATA: lcl_xml_doc TYPE REF TO cl_xml_document, lf_node TYPE REF TO if_ixml_node, lf_value TYPE string, i_xml type string, lf_name TYPE string, i_xml = 'PUT your XML HERE'. CREATE OBJECT lcl_xml_doc. IF lcl_xml_doc IS BOUND. IF lcl_xml_doc->parse_string(i_xml) EQ 0. lf_node = lcl_xml_doc->m_document. IF lf_node IS NOT INITIAL. lf_iterator = lf_node->create_iterator(). lf_node = lf_iterator->get_next(). WHILE NOT lf_node IS INITIAL. lf_name = lf_node->get_name(). lf_value = lf_node->get_value(). IF lf_name = 'text'. " do something for text ENDIF. ENDIF. lf_node = lf_iterator->get_next(). ENDWHILE. ENDIF. </code></pre> <p>Enjoy, Alexander.</p> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/7660171">Fuente</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2011-10-05 10:52:42</span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> </div> </article> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4319274062" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">0<i class="fa fa-thumbs-up"></i></span> </div> <div class="post-offset"> <div class="answer fmt"> <p>El recorrido xml manual es propenso a errores y complicado en entornos cambiantes. Es posible que desee comprobar si realmente necesita un recorrido directo del código.</p> <p>Con la ayuda de las transformaciones (XSLT), puede convertir XML en tipos estructurados ABAP. XPath es compatible.</p> <p>La declaración, prueba y depuración de transformaciones se realiza mediante el Editor de transformación abierto en la transacción <code class="prettyprint-override">STRANS</code>.</p> <p>XSLT está disponible como tipo de transformación: <a href="http://help.sap.com/abapdocu_70/en/ABENABAP_XSLT.htm" rel="nofollow">ABAP XSLT Transformation</a></p> <p>en el código ABAP se le acaba de llamar al elemento de lenguaje <code class="prettyprint-override">CALL TRANSFORMATION</code> y los datos están listos para procesar en su estructura diana después: <a href="http://help.sap.com/abapdocu_70/en/ABAPCALL_TRANSFORMATION.htm" rel="nofollow">ABAP Statement: 'CALL TRANSFORMATION'</a></p> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/8794993">Fuente</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2012-01-09 20:47:32</span> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/1098409/">Eric</a></span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> </div> </article> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">Cuestiones relacionadas</div> <ul class="relative_list"> <li> 1. <a href="http://es.voidcc.com/question/p-nwxinlwl-bb.html" target="_blank" title="C#: Obtener todos los nodos del documento XML"> C#: Obtener todos los nodos del documento XML </a> </li> <li> 2. <a href="http://es.voidcc.com/question/p-cliabhfn-n.html" target="_blank" title="LINQ to XML - Actualización/modificar los nodos de un documento XML"> LINQ to XML - Actualización/modificar los nodos de un documento XML </a> </li> <li> 3. <a href="http://es.voidcc.com/question/p-unflmbca-bb.html" target="_blank" title="HtmlAgilityPack - obtener todos los nodos de un documento"> HtmlAgilityPack - obtener todos los nodos de un documento </a> </li> <li> 4. <a href="http://es.voidcc.com/question/p-kibaoxrz-bm.html" target="_blank" title="¿Cómo puedo autodefinir los nodos XML con XML :: LibXML?"> ¿Cómo puedo autodefinir los nodos XML con XML :: LibXML? </a> </li> <li> 5. <a href="http://es.voidcc.com/question/p-bumjrleu-x.html" target="_blank" title="Busque y reemplace nodos completos de HTML con Nokogiri"> Busque y reemplace nodos completos de HTML con Nokogiri </a> </li> <li> 6. <a href="http://es.voidcc.com/question/p-moqtljxp-be.html" target="_blank" title="¿Cómo puedo iterar a través de los nodos secundarios de un nombre particular en un documento de documento Nokogiri XMLFragment?"> ¿Cómo puedo iterar a través de los nodos secundarios de un nombre particular en un documento de documento Nokogiri XMLFragment? </a> </li> <li> 7. <a href="http://es.voidcc.com/question/p-gybtltaf-ba.html" target="_blank" title="Leer elementos completos de una secuencia de red XML"> Leer elementos completos de una secuencia de red XML </a> </li> <li> 8. <a href="http://es.voidcc.com/question/p-ndheeezo-h.html" target="_blank" title="XML simple: tratamiento de los puntos en los nodos"> XML simple: tratamiento de los puntos en los nodos </a> </li> <li> 9. <a href="http://es.voidcc.com/question/p-ddfczwbj-o.html" target="_blank" title="raspar los tweets completos de un usuario"> raspar los tweets completos de un usuario </a> </li> <li> 10. <a href="http://es.voidcc.com/question/p-awcozowa-bx.html" target="_blank" title="XML IDREF ¿otro documento XML?"> XML IDREF ¿otro documento XML? </a> </li> <li> 11. <a href="http://es.voidcc.com/question/p-tloroacc-n.html" target="_blank" title="Algoritmo eficiente para comparar nodos XML"> Algoritmo eficiente para comparar nodos XML </a> </li> <li> 12. <a href="http://es.voidcc.com/question/p-grtekfdx-o.html" target="_blank" title="¿Describe la repetición de nodos XML en W3C XML Schema?"> ¿Describe la repetición de nodos XML en W3C XML Schema? </a> </li> <li> 13. <a href="http://es.voidcc.com/question/p-nfssqeor-m.html" target="_blank" title="Convirtiendo un documento XML a un diccionario"> Convirtiendo un documento XML a un diccionario </a> </li> <li> 14. <a href="http://es.voidcc.com/question/p-wvzlarrc-bp.html" target="_blank" title="XML: para adjuntar documento xml en el nodo de otro documento"> XML: para adjuntar documento xml en el nodo de otro documento </a> </li> <li> 15. <a href="http://es.voidcc.com/question/p-pmmtthej-bq.html" target="_blank" title="Incrustar un documento xml dentro de una cadena xml"> Incrustar un documento xml dentro de una cadena xml </a> </li> <li> 16. <a href="http://es.voidcc.com/question/p-bcybrtkj-bc.html" target="_blank" title="Lea todos los nodos secundarios XML de cada nodo específico"> Lea todos los nodos secundarios XML de cada nodo específico </a> </li> <li> 17. <a href="http://es.voidcc.com/question/p-bzsqiobp-m.html" target="_blank" title="Generar un hash de documento XML en C#"> Generar un hash de documento XML en C# </a> </li> <li> 18. <a href="http://es.voidcc.com/question/p-nodfxefq-g.html" target="_blank" title="XPath en un documento XML con espacio de nombres"> XPath en un documento XML con espacio de nombres </a> </li> <li> 19. <a href="http://es.voidcc.com/question/p-yikhzlhp-o.html" target="_blank" title="¿Agregar un documento xml a un nodo xml en C#?"> ¿Agregar un documento xml a un nodo xml en C#? </a> </li> <li> 20. <a href="http://es.voidcc.com/question/p-ebniyugt-s.html" target="_blank" title="¿Se pueden utilizar las pruebas ABAP UNIT en los programas clásicos de ABAP?"> ¿Se pueden utilizar las pruebas ABAP UNIT en los programas clásicos de ABAP? </a> </li> <li> 21. <a href="http://es.voidcc.com/question/p-elktdoky-g.html" target="_blank" title="Iterar todas las generaciones de nodos XML en DOM DOM"> Iterar todas las generaciones de nodos XML en DOM DOM </a> </li> <li> 22. <a href="http://es.voidcc.com/question/p-xsbxvjeq-w.html" target="_blank" title="Seleccionar nodos XML utilizando TSQL"> Seleccionar nodos XML utilizando TSQL </a> </li> <li> 23. <a href="http://es.voidcc.com/question/p-vzpznknu-o.html" target="_blank" title="Seleccionar nodos XML como filas"> Seleccionar nodos XML como filas </a> </li> <li> 24. <a href="http://es.voidcc.com/question/p-kvutdnag-n.html" target="_blank" title="XPath: obtener los nodos que no tienen un antepasado X"> XPath: obtener los nodos que no tienen un antepasado X </a> </li> <li> 25. <a href="http://es.voidcc.com/question/p-kddskjws-bx.html" target="_blank" title="¿Los archivos MAKE están completos?"> ¿Los archivos MAKE están completos? </a> </li> <li> 26. <a href="http://es.voidcc.com/question/p-sbngfnsl-m.html" target="_blank" title="usando XSL para reemplazar nodos XML con nodos nuevos"> usando XSL para reemplazar nodos XML con nodos nuevos </a> </li> <li> 27. <a href="http://es.voidcc.com/question/p-eoosqfef-k.html" target="_blank" title="Problema al generar un documento XML usando TXMLDocument"> Problema al generar un documento XML usando TXMLDocument </a> </li> <li> 28. <a href="http://es.voidcc.com/question/p-dgmkpave-ba.html" target="_blank" title="Usando XPath para analizar un documento XML"> Usando XPath para analizar un documento XML </a> </li> <li> 29. <a href="http://es.voidcc.com/question/p-glpzbtex-v.html" target="_blank" title="¿Cómo crear un documento XML utilizando XmlDocument?"> ¿Cómo crear un documento XML utilizando XmlDocument? </a> </li> <li> 30. <a href="http://es.voidcc.com/question/p-sjkzjzyh-g.html" target="_blank" title="Serializar en un fragmento XML - no Documento XML"> Serializar en un fragmento XML - no Documento XML </a> </li> </ul> </div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515422166"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> Última pregunta </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://es.voidcc.com/question/p-ynnfaeik-u.html" target="_blank" title="Actualizar campo 1 en una tabla de otro campo en una tabla diferente (OS400, no una relación 1 a 1)"> Actualizar campo 1 en una tabla de otro campo en una tabla diferente (OS400, no una relación 1 a 1) </a> </li> <li class="side_article_list_item"> 2. <a href="http://es.voidcc.com/question/p-ykjtaikj-bu.html" target="_blank" title="Componente Yeoman vs archivos de proveedores y actualización"> Componente Yeoman vs archivos de proveedores y actualización </a> </li> <li class="side_article_list_item"> 3. <a href="http://es.voidcc.com/question/p-gxghfmsn-bn.html" target="_blank" title="Procesar argc y argv fuera de main()"> Procesar argc y argv fuera de main() </a> </li> <li class="side_article_list_item"> 4. <a href="http://es.voidcc.com/question/p-dkmxhwcv-bp.html" target="_blank" title="mod-rewrite eliminar el nombre de la carpeta de url"> mod-rewrite eliminar el nombre de la carpeta de url </a> </li> <li class="side_article_list_item"> 5. <a href="http://es.voidcc.com/question/p-mvbwablf-bn.html" target="_blank" title="¿Puedo acceder a una enumeración C# en mi vista Razor?"> ¿Puedo acceder a una enumeración C# en mi vista Razor? </a> </li> <li class="side_article_list_item"> 6. <a href="http://es.voidcc.com/question/p-vfpbnfge-bk.html" target="_blank" title="¿Es posible abrir un archivo en una instancia en ejecución de Matlab desde la línea de comandos?"> ¿Es posible abrir un archivo en una instancia en ejecución de Matlab desde la línea de comandos? </a> </li> <li class="side_article_list_item"> 7. <a href="http://es.voidcc.com/question/p-nnllnbgd-u.html" target="_blank" title="¿Cómo se puede diseñar esta aplicación cliente/servidor en .NET?"> ¿Cómo se puede diseñar esta aplicación cliente/servidor en .NET? </a> </li> <li class="side_article_list_item"> 8. <a href="http://es.voidcc.com/question/p-dckxwbwn-t.html" target="_blank" title="¿Cuál es la necesidad de tener parámetros "nmem" y "tamaño" en las funciones C?"> ¿Cuál es la necesidad de tener parámetros "nmem" y "tamaño" en las funciones C? </a> </li> <li class="side_article_list_item"> 9. <a href="http://es.voidcc.com/question/p-acmzpdfn-bn.html" target="_blank" title="Comparando dos modelos lineales con anova() en R"> Comparando dos modelos lineales con anova() en R </a> </li> <li class="side_article_list_item"> 10. <a href="http://es.voidcc.com/question/p-zydfbfix-bc.html" target="_blank" title="Uso del controlador MongoDB C#: ¿envuelto o no envuelto?"> Uso del controlador MongoDB C#: ¿envuelto o no envuelto? </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> Cuestiones relacionadas</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://es.voidcc.com/question/p-nwxinlwl-bb.html" target="_blank" title="C#: Obtener todos los nodos del documento XML"> C#: Obtener todos los nodos del documento XML </a> </li> <li class="side_article_list_item"> 2. <a href="http://es.voidcc.com/question/p-cliabhfn-n.html" target="_blank" title="LINQ to XML - Actualización/modificar los nodos de un documento XML"> LINQ to XML - Actualización/modificar los nodos de un documento XML </a> </li> <li class="side_article_list_item"> 3. <a href="http://es.voidcc.com/question/p-unflmbca-bb.html" target="_blank" title="HtmlAgilityPack - obtener todos los nodos de un documento"> HtmlAgilityPack - obtener todos los nodos de un documento </a> </li> <li class="side_article_list_item"> 4. <a href="http://es.voidcc.com/question/p-kibaoxrz-bm.html" target="_blank" title="¿Cómo puedo autodefinir los nodos XML con XML :: LibXML?"> ¿Cómo puedo autodefinir los nodos XML con XML :: LibXML? </a> </li> <li class="side_article_list_item"> 5. <a href="http://es.voidcc.com/question/p-bumjrleu-x.html" target="_blank" title="Busque y reemplace nodos completos de HTML con Nokogiri"> Busque y reemplace nodos completos de HTML con Nokogiri </a> </li> <li class="side_article_list_item"> 6. <a href="http://es.voidcc.com/question/p-moqtljxp-be.html" target="_blank" title="¿Cómo puedo iterar a través de los nodos secundarios de un nombre particular en un documento de documento Nokogiri XMLFragment?"> ¿Cómo puedo iterar a través de los nodos secundarios de un nombre particular en un documento de documento Nokogiri XMLFragment? </a> </li> <li class="side_article_list_item"> 7. <a href="http://es.voidcc.com/question/p-gybtltaf-ba.html" target="_blank" title="Leer elementos completos de una secuencia de red XML"> Leer elementos completos de una secuencia de red XML </a> </li> <li class="side_article_list_item"> 8. <a href="http://es.voidcc.com/question/p-ndheeezo-h.html" target="_blank" title="XML simple: tratamiento de los puntos en los nodos"> XML simple: tratamiento de los puntos en los nodos </a> </li> <li class="side_article_list_item"> 9. <a href="http://es.voidcc.com/question/p-ddfczwbj-o.html" target="_blank" title="raspar los tweets completos de un usuario"> raspar los tweets completos de un usuario </a> </li> <li class="side_article_list_item"> 10. <a href="http://es.voidcc.com/question/p-awcozowa-bx.html" target="_blank" title="XML IDREF ¿otro documento XML?"> XML IDREF ¿otro documento XML? </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://es.voidcc.com/contact">Contactanos</a></li> <li>© 2020 ES.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>