简体   繁体   中英

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 ?

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");

It seems your XML element name contains spaces...

This is illegal:

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

Must be this:

<tomandjerry>hi</tomandjerry>

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>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM