what xml escaping

what - Personaje de doble cita de escape en XML



what is xml (8)

¿Hay un carácter de escape para una comilla doble en xml? Quiero escribir una etiqueta como:

<parameter name="Quote = " ">

pero si pongo ", eso significa que la cadena ha terminado. Necesito algo como esto (c ++):

printf("Quote = /" ");

¿Hay un personaje para escribir antes de la comilla doble para escapar?


En C ++ puede usar la API EscapeXML ATL. Esta es la forma correcta de manejar caracteres especiales ...


Estos son los caracteres comunes que deben escaparse en XML, comenzando con comillas dobles:

  1. las comillas dobles ( " ) se escapan a &quot;
  2. ampersand ( & ) se escapó a &amp;
  3. las comillas simples ( '' ) se escapan a &apos;
  4. menos de ( < ) se escapa a &lt;
  5. mayor que ( > ) se escapó a &gt;

No, no hay un personaje de escape como tal, en su lugar puede usar &quot; o incluso <![CDATA["]]> para representar el " personaje.


Otros han respondido en términos de cómo manejar el escape específico en este caso.

Una respuesta más amplia es no tratar de hacerlo usted mismo. Use una API XML: hay muchas disponibles para casi todas las plataformas de programación modernas que existen.

Las API XML manejarán cosas como esta automáticamente, lo que hará que sea mucho más difícil equivocarse. A menos que esté escribiendo una API XML usted mismo, rara vez debe preocuparse por detalles como este.


Prueba esto:

&quot;


Puede intentar usar la barra diagonal inversa seguida de una "u" y luego el valor unicode para el carácter, por ejemplo, el valor unicode de la comilla doble es

"-> U + 0022

Por lo tanto, si lo configura como parte del texto en XML en Android se vería algo como esto,

<TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text=" /u0022 Showing double quotes /u0022 "/>

Esto produciría un texto en TextView aproximadamente más o menos así

"Mostrando comillas dobles"

Puede encontrar unicode de la mayoría de los símbolos y caracteres aquí unicode-table.com/en


Si solo necesita probar algo rápidamente, aquí hay una solución rápida y sucia. Use comillas simples para el valor del atributo :

<parameter name=''Quote = " ''>


Nueva respuesta mejorada a una pregunta antigua y frecuente ...

Cuándo escapar la comilla doble en XML

La comilla doble ( " ) puede aparecer sin escaparse :

  • En contenido textual XML:

    <NoEscapeNeeded>He said, "Don''t quote me."</NoEscapeNeeded>

  • En atributos XML delimitados por comillas simples ( '' ):

    <NoEscapeNeeded name=''Pete "Maverick" Mitchell''/>

    Nota: cambiar a comillas simples ( '' ) también requiere que no se escape:

    <NoEscapeNeeded name="Pete ''Maverick'' Mitchell"/>

Se debe escapar la comilla doble ( " ):

  • En atributos XML delimitados por comillas dobles:

    <EscapeNeeded name="Pete &quot;Maverick&quot; Mitchell"/>

Línea de fondo

La comilla doble ( " ) se debe escapar como &quot; en XML solo en contextos muy limitados.