程序写入XML 怎么对&进行转义 急急急救救救
XElement xea = new XElement("siteMapNode");
xea.SetAttributeValue("url", "DetailContent.aspx?Id=" + ds.Tables[0].Rows[i]["CategoryId"].ToString() + "&AId=" + ds.Tables[0].Rows[i]["Id"].ToString());
xea.SetAttributeValue("title", "正文");
xea.SetAttributeValue("description", "正文");
xes.Add(xea);
&写入XML 就变成&
<![CDATA[&]>也不行
------解决方案--------------------CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:
严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。
------解决方案--------------------有一个方法非常实用。
DataSet ds = new DataSet();
ds.Tables.Add(dt.Copy());
string xml = ds.GetXml();
将你的表格先填充到数据集DataSet,然后转成xml格式,最好保存。
XmlDocument dom = new XmlDocument();
if (xml == "")
{
xml = "<NewDataSet></NewDataSet>";
}
string strTemp = System.Windows.Forms.Application.StartupPath + "\\result.xml";
if (File.Exists(strTemp))
{
File.Delete(strTemp);
}
//不存在文件则创建
if (File.Exists(strTemp))
{
XmlElement rootTemp = dom.CreateEleme