Question

J'utilise XMLwriter pour créer du code HTML qui fonctionne bien, mais je dois maintenant placer une balise d'image, mais je ne suis pas en mesure de le faire. Il indique néanmoins que je ne peux pas utiliser "" dans le nom de l'élément. S'il vous plaît conseil hwo pour résoudre cela, merci!

EDIT: En gros, comment créer dans un document XML ceci:

<img src="path" />
Était-ce utile?

La solution

C'est vrai, vous ne pouvez pas laisser d'espace dans un nom d'élément XML.

Dans le cas de < img src = & "path &"; / > le nom de l'élément est img, alors il y a un attribut avec le nom src et la valeur path. Donc, vous n'avez pas besoin d'un espace dans votre nom d'élément, vous devez simplement rendre le reste de celui-ci sous forme d'attribut plutôt que d'essayer de tout mettre dans le champ du nom de l'élément.

Autres conseils

Eh bien, c'est absolument vrai - vous ne pouvez pas avoir un espace dans un fichier XML nom d'élément , voire dans un nom d'élément HTML. Pourquoi pensez-vous en avoir besoin? Les balises d'image ne comportent pas d'espaces dans le nom de l'élément ...

Êtes-vous sûr de ne pas vouloir mettre l'espace dans une valeur d'attribut?

Pouvez-vous nous donner un exemple?

EDIT: D'accord, alors dans votre commentaire, vous voulez quelque chose comme:

<img src="path" />

ici:

  • img est le élément nom
  • src est un attribut nom
  • path est une valeur d'attribut

Donc, vous utiliseriez quelque chose comme:

writer.WriteStartElement("img");
writer.WriteAttributeString("src", "path");
// Any extra bits you wanted
writer.WriteEndElement();

Un élément nom doit respecter des règles très strictes. Il doit suivre le signe inférieur-alors < (après quoi aucun espace ne peut apparaître). Ensuite, le premier caractère ne peut pas être un tiret, un point ou un nombre (et quelques autres). Enfin, le reste du nom suit, qui peut inclure des tirets ou des points .

Le nom est restreint davantage pour XML + Namespaces.

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