Olá Pessoal,
Queria um exemplo de como posso validar um arquivo XML usando o ParamBox.
Abaixo está as validações que preciso fazer.
- Validar se o arquivo existe;
- Validar se é um XML;
- Validar se é um XML de uma nota fiscal;
Tenho uma função que tem que fazer as validações
User function zParBox()
Local cError := ""
Local cWarning := ""
Local oXml := NIL Local cXmlFile := "nfe.xml" // Arquivo XML
Local cDirect := GetTempPath()
//Se o arquivo existir
IF File(cDirect+cXmlFile)
//Gera o Objeto XML
oXml := XmlParserFile(cXmlFile,"_", @cError, @cWarning)
If (oXml == NIL )
MsgStop("Falha ao gerar Objeto XML : "+cError+" / "+cWarning)
Endif
// Mostrando a informação do Node
MsgInfo(oXml:_IDE:_cUFE:Text,"Cliente")
ENDIF
Return oXml
Eduarda, pelo que vi é porque você buscou o arquivo usando cDirect+cXmlFile e na hora de abrir usou só cXmlFile. Deve ter sido só isso.
— Cirilo Rocha 06 de May de 2022Olá Cirilo, obrigada pelo toque, eu tenho uma dúvida, caso eu queira colocar um diretório diferente do Parser(system) do protheus. Exemplo: Local cXmlFile := "nfe.xml" Local cDirect := "D:\PastaXml\" If File(cDirect+cXmlFile) Dessa forma vai funcionar?, ou o arquivo sempre tem que estar na pasta do Protheus?
— Eduarda Menezes 08 de May de 2022Pode sim ser colocado qualquer diretório que o smartclient tenha acesso (se você estiver executando via smartclient). Agora se estiver executando via Job no appserver realmente somente as pastas dentro do Protheus_Data estarão acessíveis.
— Cirilo Rocha 09 de May de 2022Ah entendi. Muito Obrigada, Abraço.
— Eduarda Menezes 09 de May de 2022