remarks name generate example comentarios c# regex xml-parsing quote

c# - name - xml doc



La mejor forma de procesar citas no estándar en el analizador XML (1)

Esta pregunta ya tiene una respuesta aquí:

Estoy creando un programa que procesa texto con formato XML. Descubrí que cuando los valores de las etiquetas son citas que no son ASCII (comillas dobles / ASCII 34, comillas simples / ASCII 39), el análisis arroja una excepción. Dichas citas pueden provenir de software de edición como Ms Word (formateo automático).

Actualmente analizo cada línea de mi cuadro de texto y reemplazo las comillas antes de procesar el XML. Aquí está el código (en C #)

int nLines = textBox1.Lines.Length; for (int i = 0; i < nLines; i++) { // get the current line and replace quotes with standard ones line = Regex.Replace(textBox1.Lines[i], "[/u2018|/u2019|/u201A]", "''"); line = Regex.Replace(line, "[/u201C|/u201D|/u201E]", "/"");

Me pregunto si hay una forma mejor / más correcta / más rápida para lograr esto. Lo que quiero decir con una forma más correcta es que el método debe abarcar casi todas las posibilidades de comillas (he oído que / d puede usarse tanto para 0-9 como para unicode). ¡Gracias por adelantado!


/p{Pi} clases /p{Pi} y /p{Pf} pueden ser útiles para hacer coincidir este tipo de comillas. Sin embargo, no hacen la diferencia entre comillas simples y dobles.

/p{Pi} -> citas iniciales

/p{Pf} -> citas de cierre