XML特殊字符转义不起作用

时间:2015-04-09 00:16:27

标签: c# xml special-characters

我正在尝试使用“!”我的C#类中的特殊字符但是我的xml不会导致这个“!MovieName”而是导致“_x0021_MovieName” 我试过!并且还使用CDATA,但它们不起作用。它们变成了每个特殊字符的更多 x0021 (示例)类型的字符串。

public class Movie
{
  [XmlElement("!MovieName")]
  public string Title
  { get; set; }

  [XmlElement("MovieRating")]
  public float Rating
  { get; set; }

  [XmlElement("MovieReleaseDate")]
  public DateTime ReleaseDate
  { get; set; }
}

2 个答案:

答案 0 :(得分:4)

XML元素名称不能以!开头,这就是它被替换的原因。

你应该可以从:

开始
  1. 任何字母
  2. 下划线_
  3. Colon :
  4. 有关详细信息,请参阅XML Spec,或者更具体地参见NameStartChar部分。

答案 1 :(得分:1)

在XML中使用!作为标记的开头字符是违法的。你只需要使用不同的命名策略。