Cfdi.Xml.Parser
(cfdi_xml v4.0.1)
Copy Markdown
Convierte un XML CFDI a un mapa anidado al estilo de @cfdi/xml2json.
Acepta una ruta a un archivo XML o el XML directamente como cadena.
Opciones
:original- cuando estrue, mantiene el prefijo de namespace en los nombres de elemento (cfdi:Comprobante). Por defecto los nombres se devuelven sin prefijo.:keys- controla el tipo de claves del mapa resultante.:string(por defecto) usa cadenas (%{"Comprobante" => ...}),:atomusa átomos (%{Comprobante: ...}).:case- controla la capitalización de los nombres.:as_is(por defecto) deja los nombres tal cual aparecen en el XML (Emisor,ClaveProdServ).:lowerlos pasa a minúsculas (emisor,claveprodserv) tanto en elementos como en atributos.
Namespaces
Las declaraciones xmlns y xmlns:<prefijo> no se mezclan con los
atributos del elemento; en su lugar se agrupan bajo la llave meta,
usando el prefijo como llave. Esto evita átomos feos del estilo
:"xmlns:iedu" cuando se trabaja con keys: :atom:
%{instEducativas: %{
meta: %{iedu: "http://www.sat.gob.mx/iedu"},
rfcPago: "...",
...
}}
Summary
Types
@type opts() :: [original: boolean(), keys: :string | :atom, case: :as_is | :lower]