XML caracteres especiales ( como ñ ) en el nombre de un atributo

Sucede la ley de mi país requiere un nuevo atributo en el XML de uno de sus tramites ( CFDI ) http://www.sat.gob.mx/informacion_fiscal/factura_electronica/Documents/Complementoscfdi/nomina12.pdf pag.37


 
 Atributo requerido para expresar el número de años de servicio del trabajador. Se redondea al entero
superior si la cifra contiene años y meses y hay más de 6 meses.

El fragmento de xml por lo tanto queda así:

Personalmente nunca me había encontrado un nombre de atributo que tuviera un carácter especial ñ en su nombre. Incluso dudo que sea valido hacerlo ni mucho menos que sea una practica recomendable.

El documento se define con UTF-8 :

El sistema responsable de emitir este documento actualmente utiliza SAXParser con jdk 1.7 y falla al intentar parsearlo truncándose en "NumA" aunque todo el encoding y el charset sea con UTF-8.

Estoy tratando de encontrar un approach para solucionar este problema y ya que es un requerimiento que entra en vigor en año nuevo creo que muchos están pasando por esta situación. Cualquier ayuda o información al respecto estaré muy agradecido.

-1
задан 04.12.2016, 09:20
2 ответа

Решенный:

важен в parsing убеждаться определения tambiГ©n использования UTF-8:

          Reader reader = new InputStreamReader(inputStream,"UTF-8");

          InputSource is = new InputSource(reader);
          is.setEncoding("UTF-8");

          saxParser.parse(is);
0
ответ дан 24.11.2019, 12:17

Для не договорных символов, они могут стараться использовать cГіdigo numГ©rico соответствующего Ascii или менять ее codificaciГіn для того, чтобы он признал eГ±es, и ты вычеркнул:

<?xml version="1.0" encoding="ISO-8859-1"?>
0
ответ дан 24.11.2019, 12:17