更新时间:2023-11-02 12:21:10
使用XM的WriteCData方法LWriter课程。
Hi,
use the WriteCData method of the XMLWriter class.
using (XmlWriter writer = XmlWriter.Create("employees.xml"))
{
writer.WriteStartElement("ContactID");
writer.WriteCData(data);
writer.WriteEndElement();
}
希望它有所帮助。
Valery。
hope it helps.
Valery.
public string InsertCDATASections(DataSet ds, string[] cdataSections)
{
//Convert to XML with expanded general entities and CDATA sections
//as appropriate
XmlValidatingReader reader = null;
XmlTextWriter writer = null;
StringWriter sw = null;
Array.Sort(cdataSections);
try
{
reader = new XmlValidatingReader(ds.GetXml(), XmlNodeType.Document, null);
sw = new StringWriter();
writer = new XmlTextWriter(sw);
writer.Formatting = Formatting.Indented;
reader.ValidationType = ValidationType.None;
reader.EntityHandling = EntityHandling.ExpandCharEntities;
string currentElement = String.Empty;
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
currentElement = reader.Name;
writer.WriteStartElement(currentElement);
while (reader.MoveToNextAttribute())
{
writer.WriteAttributeString(reader.Name, reader.Value);
}
break;
case XmlNodeType.Text:
if (Array.BinarySearch(cdataSections, currentElement) < 0 && cdataSections.Length > 0 )
{
writer.WriteString(reader.Value);
}
else
{
writer.WriteCData(reader.Value);
}
break;
case XmlNodeType.EndElement:
writer.WriteEndElement();
break;
default:
break;
}
}
}
catch (Exception exp)
{
return exp.Message;
}
finally
{
reader.Close();
writer.Close();
}
return sw.ToString();
}
示例:
Example:
DataSet ds = new DataSet();
string[] sections = new string[]{};
string xml = InsertCDataSections(ds, sections);