Brandon
Brandon

Reputation: 14196

Error parsing AppSettings value with a query string

In my AppSettings in web.config, I have something like this:

<appSettings>
    <add key="ExternalSystemUrl" value="http://example.com/page.aspx?id={0}&action=eat&object=bacon" />
</appSettings>

However, it seems that when an ampersand (&) is included in an AppSettings value, ASP.NET throws the following error:

An error occurred while parsing EntityName

Why does this happen, and how can I include URLs like this in App.config?

Upvotes: 17

Views: 13484

Answers (3)

abatishchev
abatishchev

Reputation: 100288

Replace & with &amp; (escape it):

<add
    key="ExternalSystemUrl"
    value="http://example.com/page.aspx?id={0}&amp;action=eat&amp;object=bacon" />

That's the common requirement for any valid XML file.

See Where can I get a list of the XML document escape characters?

Upvotes: 50

Chris White
Chris White

Reputation: 1063

In XML an ampersand tells the parser "the data immediately following this ampersand is an entity which needs to be translated." If the data immediately following is not a valid XML entity, then you get this error. If possible, use &amp; for your ampersand within the XML.

Upvotes: 4

Wicked Coder
Wicked Coder

Reputation: 1118

You can Try using &amp; instead.

Upvotes: 6

Related Questions