
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
CARTA PORTE V3.1
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
.
utf-8 en mayuscula o en minuscula
-
- Mensajes: 149
- Registrado: Vie Dic 17, 2010 1:55 pm
utf-8 en mayuscula o en minuscula
Hola, estoy usando C# y al momento de serializar mi clase me pone en la primer línea
<?xml version="1.0" encoding="utf-8"?>
Y el PAC (Edicom), me dice que tiene que ser
<?xml version="1.0" encoding="UTF-8"?>
hay alguna gorma de que al momento de serializar ponga el UTF-8 en mayusculas?
Saludos,
<?xml version="1.0" encoding="utf-8"?>
Y el PAC (Edicom), me dice que tiene que ser
<?xml version="1.0" encoding="UTF-8"?>
hay alguna gorma de que al momento de serializar ponga el UTF-8 en mayusculas?
Saludos,
erick.aragon @ live.com.mx
- acanas
- Mensajes: 477
- Registrado: Mar Ene 11, 2011 3:18 pm
Re: utf-8
Yo también generó mi XML a través de serialización y me fije que me pone en la primera línea utf-8 en minúsculas, en el validador sintactico de xml de Visual Studio 2008 lo dá como válido de las 2 formas (minúsculas y mayúsculas). Pero checando en la página utf8.com dice:dcerick escribió:Hola, estoy usando C# y al momento de serializar mi clase me pone en la primer línea
<?xml version="1.0" encoding="utf-8"?>
Y el PAC (Edicom), me dice que tiene que ser
<?xml version="1.0" encoding="UTF-8"?>
hay alguna gorma de que al momento de serializar ponga el UTF-8 en mayusculas?
Saludos,
<?xml version="1.0" encoding="UTF-8" ?>
Está es una posible respuesta, Microsoft en su interpretación de la especificación de XML no lo considera como inválido:
http://stackoverflow.com/questions/9215 ... -sensitive
Se supone que no lo deben forzar a ser case sensitive el tag inicial.
Aquí esta el fundamento:
http://www.w3.org/TR/2008/REC-xml-20081 ... arencoding
Aquí esta el mero mole:
In an encoding declaration, the values " UTF-8 ", " UTF-16 ", " ISO-10646-UCS-2 ", and " ISO-10646-UCS-4 " should be used for the various encodings and transformations of Unicode / ISO/IEC 10646, the values " ISO-8859-1 ", " ISO-8859-2 ", ... " ISO-8859- n " (where n is the part number) should be used for the parts of ISO 8859, and the values " ISO-2022-JP ", " Shift_JIS ", and " EUC-JP " should be used for the various encoded forms of JIS X-0208-1997. It is recommended that character encodings registered (as charsets) with the Internet Assigned Numbers Authority [IANA-CHARSETS], other than those just listed, be referred to using their registered names; other encodings should use names starting with an "x-" prefix. XML processors should match character encoding names in a case-insensitive way and should either interpret an IANA-registered name as the encoding registered at IANA for that name or treat it as unknown (processors are, of course, not required to support all IANA-registered encodings).
Creo que esto es un argumento suficiente para que EDICOM te haga caso, me imagino que hay muchos clientes iguales, no les cuesta casi nada hacer eso.
Zyphersoft Development
- acanas
- Mensajes: 477
- Registrado: Mar Ene 11, 2011 3:18 pm
Re: utf-8 en mayuscula o en minuscula
dcerick, si de plano EDICOM se pone sus moños y se sienta en su macho utiliza esta pequeña rutina:
Código: Seleccionar todo
private XmlDocument CambiarXmlEncoding(XmlDocument xmlDoc, string nuevoEncoding)
{
if (xmlDoc.FirstChild.NodeType == XmlNodeType.XmlDeclaration)
{
XmlDeclaration xmlDeclaration = (XmlDeclaration)xmlDoc.FirstChild;
xmlDeclaration.Encoding = nuevoEncoding;
}
return xmlDoc;
}
private void CFD()
{
string strXmlPath = @"c:/demoCFD.xml";
XmlDocument xdoc = new XmlDocument();
XmlTextReader xt = new XmlTextReader(strXmlPath);
xdoc.Load(xt);
CambiarXmlEncoding(xdoc, "UTF-8");
xt.Close();
xdoc.Save(strXmlPath);
}
Zyphersoft Development
-
- Mensajes: 149
- Registrado: Vie Dic 17, 2010 1:55 pm
Re: utf-8 en mayuscula o en minuscula
Muchas grácias de hecho antes de tu primer respuesta yo lo solucioné de la siguiente forma :acanas escribió:dcerick, si de plano EDICOM se pone sus moños y se sienta en su macho utiliza esta pequeña rutina:
Código: Seleccionar todo
private XmlDocument CambiarXmlEncoding(XmlDocument xmlDoc, string nuevoEncoding) { if (xmlDoc.FirstChild.NodeType == XmlNodeType.XmlDeclaration) { XmlDeclaration xmlDeclaration = (XmlDeclaration)xmlDoc.FirstChild; xmlDeclaration.Encoding = nuevoEncoding; } return xmlDoc; } private void CFD() { string strXmlPath = @"c:/demoCFD.xml"; XmlDocument xdoc = new XmlDocument(); XmlTextReader xt = new XmlTextReader(strXmlPath); xdoc.Load(xt); CambiarXmlEncoding(xdoc, "UTF-8"); xt.Close(); xdoc.Save(strXmlPath); }
Código: Seleccionar todo
System.Xml.XmlDocument oDocument = new System.Xml.XmlDocument();
oDocument.Load(strRutaArchivoXml);
oDocument.InnerXml = oDocument.InnerXml.Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>", "<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
oDocument.Save(strRutaArchivoXml);
Lo probaré.. igual ya le mandé el correo al tipo ajjaja con la info que me pasaste xD
Gracias.
erick.aragon @ live.com.mx
- acanas
- Mensajes: 477
- Registrado: Mar Ene 11, 2011 3:18 pm
Re: utf-8 en mayuscula o en minuscula
Jeje si ya lo probé porque me puse a pensar que me voy a ver en la misma situación así que hay que estar preparados.
Zyphersoft Development
-
- Mensajes: 149
- Registrado: Vie Dic 17, 2010 1:55 pm
Re: utf-8 en mayuscula o en minuscula
Bueno lo dejé así:
Método
Llamada
Gracias por tu ayuda, al final es tu código con unas pocas modificaciones xD.
Método
Código: Seleccionar todo
private void CambiarXmlEncoding(XmlDocument xmlDoc, string nuevoEncoding)
{
if (xmlDoc.FirstChild.NodeType == XmlNodeType.XmlDeclaration)
{
XmlDeclaration xmlDeclaration = (XmlDeclaration)xmlDoc.FirstChild;
xmlDeclaration.Encoding = nuevoEncoding;
}
}
Código: Seleccionar todo
System.Xml.XmlDocument oDocument = new System.Xml.XmlDocument();
oDocument.Load(strRutaArchivoXml);
CambiarXmlEncoding(oDocument, "UTF-8");
oDocument.Save(strRutaArchivoXml);
erick.aragon @ live.com.mx
- acanas
- Mensajes: 477
- Registrado: Mar Ene 11, 2011 3:18 pm
-
- Mensajes: 149
- Registrado: Vie Dic 17, 2010 1:55 pm
Re: utf-8 en mayuscula o en minuscula
Acanas buenas tardes oye man fijate que tengo otro detalle con la serializacion y pues queria ver si tu me das un norte....acanas escribió:Es todo, no problema dude.
Al serializar me está poniendo la fecha de esta forma "2011-01-31T17:59:53.922-07:00" , y pues me está sobrando ".922-07:00" puesto que el anexo 20 dice lo siguiente
"Atributo requerido para la expresión de la fecha y hora de expedición del comprobante fiscal. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.
"
Tu no tienes ese problema con la serialización? Y si te pasó como lo resolviste?
Saludos
erick.aragon @ live.com.mx
- acanas
- Mensajes: 477
- Registrado: Mar Ene 11, 2011 3:18 pm
Re: utf-8 en mayuscula o en minuscula
si me tope con ese detalle cuando realizaba mis pruebas con el PAC, aqui te va el truco en c#:dcerick escribió: Acanas buenas tardes oye man fijate que tengo otro detalle con la serializacion y pues queria ver si tu me das un norte....
Al serializar me está poniendo la fecha de esta forma "2011-01-31T17:59:53.922-07:00" , y pues me está sobrando ".922-07:00" puesto que el anexo 20 dice lo siguiente
"Atributo requerido para la expresión de la fecha y hora de expedición del comprobante fiscal. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.
"
Tu no tienes ese problema con la serialización? Y si te pasó como lo resolviste?
Saludos
Código: Seleccionar todo
string strFecha= XmlConvert.ToString(tfd.FechaTimbrado, "yyyy-MM-ddTHH:mm:ss");
Zyphersoft Development
-
- Mensajes: 149
- Registrado: Vie Dic 17, 2010 1:55 pm
Re: utf-8 en mayuscula o en minuscula
Mi problema, en el atributo fecha del CFDI :acanas escribió:si me tope con ese detalle cuando realizaba mis pruebas con el PAC, aqui te va el truco en c#:dcerick escribió: Acanas buenas tardes oye man fijate que tengo otro detalle con la serializacion y pues queria ver si tu me das un norte....
Al serializar me está poniendo la fecha de esta forma "2011-01-31T17:59:53.922-07:00" , y pues me está sobrando ".922-07:00" puesto que el anexo 20 dice lo siguiente
"Atributo requerido para la expresión de la fecha y hora de expedición del comprobante fiscal. Se expresa en la forma aaaa-mm-ddThh:mm:ss, de acuerdo con la especificación ISO 8601.
"
Tu no tienes ese problema con la serialización? Y si te pasó como lo resolviste?
Saludos
string fechaString = XmlConvert.ToString(tfd.FechaTimbrado, "yyyy-MM-ddTHH:mm:ss");
Código: Seleccionar todo
version="3.0" fecha="2011-01-31T17:59:53.922-07:00"
erick.aragon @ live.com.mx