Rauf
Rauf

Reputation: 12842

White space in XmlElement in C# .Net

XmlElement child = doc.CreateElement(element);

Where doc is an object of XmlDocument. When the code executes the above line with element=Tom and Jerry, I get the following error:

The ' ' character, hexadecimal value 0x20, cannot be included in a name.

What should I do to include ' ' in XmlDocument? I can not replace it with anything else.

What are the other characters which XML element does not support for name ?

Upvotes: 4

Views: 9029

Answers (3)

Deitro
Deitro

Reputation: 271

U can make the element like this:

<element name='Tom and Jerry' />

But if you need to store some data for this cartoon and have access to it by cartoon name:

<element name='Tom and Jerry'>some data</element>

Upvotes: 0

Henk Holterman
Henk Holterman

Reputation: 273244

I suppose you want an element with the value "Tom and Jerry", which is fine.

It is part of the XML syntax that you cannot have a space in the name of an element or attribute.

A possible method:

XmlElement child = doc.CreateElement("cartoon");
child.InnerText = "Tom and Jerry";

which produces

<cartoon>Tom and Jerry</cartoon>

Aside, consider XDocument when you can. Much easier than XmlDocument.

XElement child = new XElement("cartoon", "Tom and Jerry");

Upvotes: 6

Aliostad
Aliostad

Reputation: 81660

It seems your XML element name contains spaces...

This is illegal:

<tom and jerry>hi</tom and jerry>

Must be this:

<tomandjerry>hi</tomandjerry>

Upvotes: 4

Related Questions