nagy.zsolt.hun
nagy.zsolt.hun

Reputation: 6694

How can I include an ampersand (&) character in an XML document?

How can I put an & symbol in an attribute of an XML tag while keeping the XML valid?

<?xml version="1.0" ?> 
<a text="b&c"/>

When I use W3School's validator, I get the error:

EntityRef: expecting ';'

Upvotes: 49

Views: 123454

Answers (3)

Prince Kumar
Prince Kumar

Reputation: 146

Re: XML and ampersand in links - not parsing
You should escape & with 

> Blockquote &amp; in an XML or HTML document.

Upvotes: 2

Shubham
Shubham

Reputation: 111

You can use these escape sequences :

< (less-than)                   -   &#60; or &lt;

> (greater-than)                -   &#62; or  &gt;

& (ampersand)                   -   &#38;

' (apostrophe or single quote)  -   &#39;

" (double-quote)                -   &#34;

Upvotes: 11

Quentin
Quentin

Reputation: 943099

Use a character reference to represent it: &amp;

See the specification:

The ampersand character (&) and the left angle bracket (<) MUST NOT appear in their literal form, except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section. If they are needed elsewhere, they MUST be escaped using either numeric character references or the strings " &amp; " and " &lt; " respectively. The right angle bracket (>) may be represented using the string " &gt; ", and MUST, for compatibility, be escaped using either " &gt; " or a character reference when it appears in the string " ]]> " in content, when that string is not marking the end of a CDATA section.

Upvotes: 94

Related Questions