在如下InsertElement函数代码中,经测试_objElement赋值后得到的innertext为乱码,赋值内容为“<Request><UserID>000000</UserID><UserPWD>000000</UserPWD></Request>“,得到的innertext值却出现&似的乱码。
/// <summary>
/// 插入一个节点,不带属性。
/// </summary>
/// <param name="MainNode"></param>
/// <param name="Element"></param>
/// <param name="Content"></param>
public static void InsertElement(string fileName, string savePath, string _MainNode, string _Element, string _Content)
{
XmlDocument _objXmlDoc = new XmlDocument();
_objXmlDoc.Load(HttpContext.Current.Server.MapPath(savePath + "/" + fileName + ".xml"));
XmlNode _objNode = _objXmlDoc.SelectSingleNode(_MainNode);
XmlElement _objElement = _objXmlDoc.CreateElement(_Element);
_objElement.innertext = _Content;
if (_objNode != null)
_objNode.AppendChild(_objElement);
try
{
_objXmlDoc.Save(HttpContext.Current.Server.MapPath(savePath + "/" + fileName + ".xml"));
_objXmlDoc = null;
}
catch (System.Exception ex)
{
// throw ex;
Thread.Sleep(2000);
}
finally
{
_objXmlDoc = null;
}
_objXmlDoc = null;
}
经25yi企业网站模板官网研究正确解决方案为把_objElement.innertext = _Content;改为_objElement.InnerXml = _Content;既解决了乱码的问题。
上面就是XML插入一个节点内容用innertext出现乱码的解决,仅供大家参考,如有问题与交流可以咨询25yi企业网站模板客服,我们会为您真城服务。