Estoy tratando de obtener un nodo secundario, pero se imprime nulo. Mi código:
function findFile(ICO){ var fileName = ICO + '.xml'; const folderFiles = DriveApp.getFolderById('folderID').getFiles(); while (folderFiles.hasNext()) { var folderFile = folderFiles.next(); if(folderFile.getName() == fileName){ return folderFile.getId(); break; } } } function filesearch(ICO){ var fileId = findFile(ICO); var fileFound = DriveApp.getFileById(fileId).getBlob().getDataAsString(); var rawXml = XmlService.parse(fileFound); return rawXml; } function parseXML(){ var text_ICO_txt = '27074358'; var docXml = filesearch(text_ICO_txt); var root = docXml.getRootElement(); Logger.log(root); var child1 = root.getChild('Ares_odpovedi'); Logger.log(child1); }Imprime:
[Element: <are:Ares_odpovedi [Namespace: http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer_vreo/v_1.0.0]/>] nullAsí que probé una variación diferente de Ares_odpovedi (incluido el texto completo después de Element :), pero el nodo secundario es nulo.
Archivo XML:
<are:Ares_odpovedi xmlns:are="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer_vreo/v_1.0.0" odpoved_datum_cas="2022-05-09T15:00:10" odpoved_pocet="1" odpoved_typ="Vypis_VREO" vystup_format="XML" xslt="klient" validation_XSLT="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_odpovedi.xsl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer_vreo/v_1.0.0 http://wwwinfo.mfcr.cz/ares/xml_doc/schemas/ares/ares_answer_vreo/v_1.0.0/ares_answer_vreo.xsd" Id="ares"> <are:Odpoved> <are:Pomocne_ID>0</are:Pomocne_ID> <are:Vysledek_hledani> <are:Kod>1</are:Kod> </are:Vysledek_hledani> <are:Pocet_zaznamu>1</are:Pocet_zaznamu> <are:Vypis_VREO> <are:Uvod> <are:Nadpis>Výpis z veřejného rejstříku v ARES - elektronický opis</are:Nadpis> <are:Aktualizace_DB>2022-05-09</are:Aktualizace_DB> <are:Datum_vypisu>2022-05-09</are:Datum_vypisu> <are:Cas_vypisu>15:00:09</are:Cas_vypisu> <are:Typ_vypisu>aktualni</are:Typ_vypisu> </are:Uvod> <are:Zakladni_udaje> ...¿Podría, por favor, indicarme cómo lidiar con eso?
¡Gracias de antemano!
Esta respuesta supone la modificación de su guión de presentación.
Cuando vi sus datos XML, parece que la etiqueta de Ares_odpovedi es el elemento raíz. Entonces, por ejemplo, cuando desee recuperar el elemento de Odpoved , modifíquelo de la siguiente manera.
var root = docXml.getRootElement(); Logger.log(root); var child1 = root.getChild('Ares_odpovedi'); Logger.log(child1); var root = docXml.getRootElement(); Logger.log(root); var child1 = root.getChild('Odpoved', root.getNamespace()); Logger.log(child1);