XML中的特殊字符

Moh*_*bet 0 c# xml

我想解析以下XML

XmlElement costCenterElement2 = doc.CreateElement("CostCenter");
costCenterElement2.InnerXml =
    "<CostCenterNumber>2</CostCenterNumber> <CostCenter>" +
    "G&A: Fin & Acctng" +
    "</CostCenter>";
Run Code Online (Sandbox Code Playgroud)

但我发现了XML Exception

解析EntityName时发生错误.

Ode*_*ded 7

是的 - 一个&在XML中无效,需要转义为&amp;.

其他字符无效字符及其转义:

  • < - &lt;
  • > - &gt;
  • " - &quote;
  • ' - &apos;

以下应该有效:

XmlElement costCenterElement2 = doc.CreateElement("CostCenter");
costCenterElement2.InnerXml =
  "<CostCenterNumber>2</CostCenterNumber> <CostCenter>" +
  "G&amp;A: Fin &amp; Acctng" +
  "</CostCenter>";
Run Code Online (Sandbox Code Playgroud)

但是,你真的应该创建CostCenterNumberCostCenter作为元素,而不是InnerXml.