我有以下示例代码:
public static XmlElement CreateElement(XmlDocument doc, string innerText)
{
XmlElement el = doc.CreateElement("name");
el.InnerText = innerText;
return el;
}
当这样调用时,我得到了&
代替OuterText属性中的原始&
:
XmlElement myElement = CreateElement(myDoc, "Alice & Bob");
// myElement.OuterText has "<name>Alice & Bob</name>"
但是,当我像下面这样称呼时,我希望在其中有一个'
,而我只是拥有实际的'
:
XmlElement myElement = CreateElement(myDoc, "Alice's Bob");
// myElement.OuterText has "<name>Alice's Bob</name>"
有人知道不对撇号进行编码的原因吗,有没有办法将其编码在OuterText中?
答案 0 :(得分:0)
正如Tom W和Alex K所说,您不需要对其进行编码(作为XmlElement转换的标准),但是如果您愿意,可以这样做:
public static System.Xml.XmlElement CreateElement(System.Xml.XmlDocument doc, string innerText)
{
System.Xml.XmlElement el = doc.CreateElement("name");
el.InnerText = System.Web.HttpUtility.HtmlEncode(innerText);
return el;
}