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:
- las comillas dobles (
"
) se escapan a"
- ampersand (
&
) se escapó a&
- las comillas simples (
''
) se escapan a'
- menos de (
<
) se escapa a<
- mayor que (
>
) se escapó a>
No, no hay un personaje de escape como tal, en su lugar puede usar "
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:
"
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 "Maverick" Mitchell"/>
Línea de fondo
La comilla doble ( "
) se debe escapar como "
en XML solo en contextos muy limitados.