C #: причина ошибки: наличие строковой переменной, значение которой содержит &? - PullRequest
0 голосов
/ 03 марта 2010

РЕДАКТИРОВАТЬ: Я редактировал свой пост ...

Работая над проектом (c #), у меня есть строка (пароль) в XML-файле (app.config), значение которого содержит символ «&». Предположим, что-то вроде этого:

<?xml version="1.0" encoding="utf-8" ?>
  <configuration>
     <appSettings>
        <add key="MainConnectionString" value="Data Source=MyDataSource;InitialCatalog=MyInitialCatalog;User ID=MyUserID;Password=ynhub&59=k31!890" />
    </appSettings>
  </configuration>

Но компилятор показывает мне ошибку, а волнистая синяя линия под 59 указывает, что «шестнадцатеричное значение символа 5 недопустимо в имени XML»

Как я могу удалить эту ошибку?

Ответы [ 3 ]

2 голосов
/ 03 марта 2010
1 голос
/ 03 марта 2010

XML начинает специальные символы с символа &, т.е. известного & amp ;, & lt; (<) и & gt; (>).

По этой причине вы не можете использовать & в своем XML, не преобразовав его в & amp ;. Например, даже в ссылках HTML нельзя (но все еще часто) писать:

<a href="foo.php?foo=bar&bar=baz">

Это должно быть записано как:

<a href="foo.php?foo=bar&amp;bar=baz">
1008
0 голосов
/ 03 марта 2010

То, о чем вы думаете, не является частью строки - это часть вашего исходного кода. Внимательно прочитайте код, обращая особое внимание на положение любых кавычек ...

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