Question

J'écris donc un code de génération de XML et j'ai constaté que la valeur d'attribut suivante borde la mise en forme XML:

"Jim/Bob"

J'ai donc examiné les entités XML utilisées comme séquences d'évasion et chaque liste que j'ai vue n'en inclut pas pour la barre oblique. Est-ce que je manque quelque chose d'évident ici? On dirait que le genre de chose que vous voudriez échapper ...

Était-ce utile?

La solution

La barre oblique vers l'avant est valable en tant que et n'a pas besoin de codage supplémentaire.

Les seuls caractères réservés sont:

>
<
&
%

Pour encore plus d'entités XML - http://en.wikipedia.org/wiki/List_of_xml_and_html_character_entity_references

Autres conseils

Je sais qu'il s'est avéré que ce n'était pas le problème, mais j'ai pensé qu'il serait utile de mentionner qu'en plus de la réponse de Bobince, la Fraction Slash Entité HTML &frasl; regards Tout comme une barre oblique. Juste au cas où quiconque atteignerait cette page en fait Est-ce que Je veux une entité HTML pour quelque chose représentant une barre oblique en avant.

Il n'y a pas de référence d'entité prédéfinie pour cela, mais vous pouvez utiliser une référence de caractère: «/».

Cependant, vous n'avez pas besoin de vous échapper / pour l'inclusion dans XML. Vous devrez peut-être l'inclure pour l'inclusion dans autre chose, par exemple une partie du chemin URI. Mais alors il faudrait d'abord échapper à ce format; L'application qui ramasse l'URI n'aurait aucun moyen de savoir si vous l'avez codée dans le XML ou non.

Je ne pense pas que les commentaires de ce fil sont entièrement corrects car si vous utilisez un schéma (XSD), vous pouvez définir des éléments avec des noms Jim, Bob et Jim / Bob sans aucun problème. Mais ensuite, lorsque vous souhaitez définir l'élément et l'entité:

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

Les problèmes sont évidents.

FYI although a slash is valid XML, watch out how it's being used downstream. We used it for connecting to an azure service bus queue. Azure itself generated keys with slashes in the connection strings, but then broke silently when we tried to use them. Escaping them with “&#47;” made it work

"Jim&#47;Bob"

I can't see why a value of "Jim/Bob" would need escaping or cause XML any problems at all.

You probably have a constrained attribute, as defined in the XML Schema.

I do not know what you mean by XML formatting.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top