Невозможно использовать пробел в XMLElementName - PullRequest
0 голосов
/ 27 ноября 2009

Я использую XMLwriter для создания HTML, который работает хорошо, но теперь мне нужно поместить тег изображения, но я не могу этого сделать - он все еще сообщает, что не может использовать '' в имени элемента. Пожалуйста, совет hwo, чтобы решить это, спасибо!

РЕДАКТИРОВАТЬ: в основном, как создать в XML-документе это:

<img src="path" />

Ответы [ 3 ]

1 голос
/ 27 ноября 2009

Да, в имени элемента XML не должно быть пробела.

В случае image имя элемента - img, тогда есть атрибут с именем src и значением path. Таким образом, вам не нужен пробел в имени вашего элемента, вам просто нужно отобразить остальную часть как атрибут, а не пытаться поместить все это в поле имени элемента.

1 голос
/ 27 ноября 2009

Ну, это абсолютно правильно - вы не можете иметь пробел в имени элемента XML или даже в имени элемента HTML. Почему вы думаете, что это нужно? Теги изображения не имеют пробелов в имени элемента ...

Вы уверены, что не хотите помещать пробел в значение атрибута?

Не могли бы вы привести пример?

РЕДАКТИРОВАТЬ: Хорошо, поэтому в вашем комментарии вы хотите что-то вроде:

<img src="path" />

Здесь:

  • img это элемент имя
  • src является атрибутом name
  • path является значением атрибута

Так что вы бы использовали что-то вроде:

writer.WriteStartElement("img");
writer.WriteAttributeString("src", "path");
// Any extra bits you wanted
writer.WriteEndElement();
0 голосов
/ 27 ноября 2009

Элемент имя должен следовать очень строгим правилам. Он должен следовать за знаком «меньше» < (после которого НЕТ пробела). Тогда первый символ не может быть тире, точкой или цифрой (и некоторыми другими). Наконец, следует остальное имя , которое может включать тире или точки.

Имя дополнительно ограничено для пространств имен XML +.

...