Así que estoy escribiendo algo de XML de generación de código, y se encontró que el siguiente valor de atributo fue arruinando el formato XML:

"Jim/Bob"

Así que busqué en las Entidades XML utilizado como secuencias de escape y todos los de la lista de vi no incluyen uno para la barra diagonal. Me estoy perdiendo algo que es obvio aquí? Parece el tipo de cosa que usted quiere escapar…

  • Se puede definir «cagarla»? Cuál es el código que están utilizando para crear el XML.
  • Ok, así que resulta que no era el / después de todo era el «&» en otro atributo en la misma línea. Eso explica por qué no hay una secuencia de escape para ella!
  • En retrospectiva, esta pregunta era bastante estúpido, si alguien tiene el rep para eliminar o cerrar.. que si!
  • +1 @Alpants mantenerlo abierto, google me trajo aquí el primer resultado, y las respuestas son de gran ayuda
  • Me tocó un caso donde un sin escape de barra diagonal causado un aparente problema en XSLT: <xsl:value-of select=»Jim/Bob»/> Este trató de ejecutar una expresión XPath que, por supuesto, fracasó. Me di cuenta de que yo simplemente era necesario meterlo dentro de comillas simples para que funcione: <xsl:value-of select=»‘Jim/Bob'»/> comento esto solo porque mi (tonto) tema me llevó a esta página antes de que me lo imaginé.
  • Yo también asumió / podría estropear mi XML, así que la pregunta era útil

InformationsquelleAutor Alpants | 2009-02-11

7 Comentarios

  1. 47

    De la barra diagonal es válido como es y no necesita más de la codificación.

    El único caracteres reservados son:

    >
    <
    &
    %

    Aún más entidades XML – http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

    • ‘%’ no necesita codificación en XML. ‘>’ sin necesidad de codificación en un nicho particular situación. ‘»‘ o «‘ tendrá la codificación dentro de los valores de atributo (lo que se utiliza como delimitador para este atributo).
    • <, &, >, «, ‘ …..
    • Nope. No hay magia, ni nada de nada. Nada me ayudó en mi caso. Sólo formatted="false" resuelto para mí.
    • Algunos editores de texto representar los caracteres que aparecen a estar bien, pero cuando se abre en un editor diferente, se puede ver el el personaje es en realidad un carácter ilícito. Tuve una situación donde he copiado el texto, incluyendo un em-tablero (el guión largo) de MS Word en un archivo XML en el Bloc de notas. Se ve bien allí, pero el XML termina siendo válida. Mirando el archivo de Código de Visual Studio, el em-dash fue representado como un carácter no válido (era del diamante con el signo de interrogación en ella). Por lo que volver a copiar el texto en el Código de Visual Studio y volver a guardar y el archivo conserva la validez de em-carácter de guión. Vaya usted a saber.
  2. 7

    Sé que resultó este no era el problema, pero pensé que sería útil mencionar que, además de bobince la respuesta de la Fracción Barra HTML entidad &frasl; se ve como una barra diagonal. Sólo en caso de que alguien llegar a esta página, en realidad hace quiere HTML de una entidad para algo que representa una barra diagonal.

    • El analizador SAX me estaba dando errores acerca de una entidad de referencia pero que no se declara, con &frasl; así que he usado el equivalente de Unicode &#8260; y funciona muy bien. Gracias.
    • De hecho @Lambart, yo no era específico; usted necesitará utilizar el &#8260; entidad en XML, que es también, naturalmente, el código HTML válido, pero en el HTML, tiene la conveniencia de utilizar más fácil de recordar &frasl; HTML entidad.
    • se ha sugerido &#47; pero hay &sol; así
  3. 5

    No hay predefinidos entidad de referencia, pero puede utilizar una referencia de carácter: «&#47;».

    Sin embargo, usted no necesita para escapar de /para la inclusión en XML. Usted puede ser que tenga que incluir para su inclusión en otra cosa, por ejemplo una dirección URI parte. Pero luego tendrías que escapar de ella para que el formato de la primera; la aplicación que recoge el URI no tiene ninguna forma de saber si había codificado en XML o no.

  4. 5

    No creo que los comentarios en este hilo son del todo correcto, ya que si se utiliza un esquema (XSD) se podría definir elementos con los nombres de Jim Bob y Jim/Bob sin ningún tipo de problemas. Pero luego, cuando se desea definir el elemento y de la entidad:

    <names>
      <Jim>Carrey</Jim>
      <Bob>Jones</Bob>
      <Jim/Bob>Six figured Hillbilly</Jim/Bob>
    </names>

    Los problemas son evidentes.

    • Gracias. Este es el problema que estaba teniendo. Tenía que cambiar un montón de xml no válido elemento personajes con sustitutos válidos.
  5. 5

    FYI aunque una barra es XML válido, de mirar cómo se ha utilizado aguas abajo. Lo hemos utilizado para la conexión a un bus de servicio de azure cola. Azure propio claves generadas con barras en las cadenas de conexión, pero luego se rompió en silencio cuando tratamos de usarlos. Para escapar de ellos con “&#47;” hizo el trabajo

    "Jim&#47;Bob"
  6. 0

    Usted probablemente tiene una limitada atributo, tal como se define en el Esquema XML.

    No sé lo que quieres decir con formato XML.

Dejar respuesta

Please enter your comment!
Please enter your name here