проверка имен XML с помощью амперсандов [дубликаты]

0

Я пишу программу C++, которая превращает CSV файлы в XML. часть моего файла CSV имеет название города с AMPERSAND в нем.... когда я заполняю информацию в XML, я не могу проверить свой код. есть способ кодировать C++, чтобы XML проверял слово, даже если амперсанд присутствует... (не уверен, что это правильно выплёвлено, посмотрите ниже..)

<cit:city>
        <cit:name> Inisa </cit:name>
        <cit:district> Oyo & Osun </cit:district>
        <cit:population> 119800 </cit:population>
</cit:city>

это мой XML-код после обработки через мою программу C++....

ниже мой код ошибки в валидации

Errors in the XML document: 
10990:  27  The entity name must immediately follow the '&' in the entity reference.
  • 0
    Вам нужно превратить & в &amp; для правильно сформированного XML.
  • 0
    Вы можете заключить его в раздел CDATA: <cit:district><![CDATA[ Oyo & Osun ]]></cit:district> w3.org/TR/REC-xml/#sec-cdata-sect
Показать ещё 1 комментарий
Теги:
csv
validation

1 ответ

0

Нет, ваш вход не XML, и нет никакого способа сделать вид, что это так. Измените свою программу так, чтобы она генерировала правильный XML. Лучший способ сделать это - использовать XML-сериализацию, а не создавать XML вручную. Я не знаю, какие библиотеки сериализации доступны для C++, но я уверен, что они существуют.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню