Это действительный файл XML? - PullRequest
2 голосов
/ 24 августа 2009

Мне нужно отправить некоторый элемент XML в другие службы, и я хочу убедиться, что мой файл XML имеет элегантный формат, чтобы другие люди могли использовать свой анализатор XML для анализа файла XML.

Для таких типов файлов XML это элегантный формат, нарушающий какие-либо правила XML? Не уверен, является ли & # x4 допустимой последовательностью символов XML в .Net / C #?

Я не понимаю, допустимы ли все строки, начинающиеся с $ # x? Если не все из них действительны, есть ли способы их отфильтровать?

Я использую VSTS 2008 + C # + .Net 3.5.

<?xml version="1.0" encoding="utf-8"?>
<Text>&#x4;</Text>

Ответы [ 3 ]

7 голосов
/ 24 августа 2009

Нет. Ссылки на символы должны заканчиваться точкой с запятой.

Обновление: учитывая, что синтаксическая ошибка в вопросе была исправлена, см. http://www.w3.org/TR/xml/#dt-charref для описания допустимых значений.

Честно говоря, я бы придерживался UTF-8 для всего, кроме ", <,> и &. Это делает сам XML более читабельным.

5 голосов
/ 24 августа 2009

Использовать XML Validator . Это показывает следующую ошибку:

Ошибка: ссылка на символ должна заканчиваться символом ';' разделитель.

2 голосов
/ 24 августа 2009

Как другие предположили, пропущена точка с запятой, и используйте валидатор. Но также обратите внимание, что не все символы являются допустимыми, даже если формат ввода технически приемлем.

Следующий документ в случае сбоя валидатором:

<?xml version="1.0" encoding="utf-8"?>
<Text>&#x4;</Text>

Это действительно:

<?xml version="1.0" encoding="utf-8"?>
<Text>&#x32;</Text>

Для получения информации о том, какие символы использовать или избегать, это кажется интересным .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...