私はxmlWriterを持っていて、「/」「<」">」の文字を含む文字列を書きたいと思っています(これはxml構文の一部であり、xmlコードを壊します)。ここに私のC#コードがあります:
public Boolean Initialize(String path)
{
Boolean result = true;
XmlWriterSettings settings = new XmlWriterSettings();
settings.CheckCharacters = true;
settings.Encoding = Encoding.UTF8;
settings.Indent = true;
xmlWriter = XmlWriter.Create(path, settings);
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("TestData");
isInitialized = true;
return result;
}
public void WriteProducts(List<Product> productList)
{
if (isInitialized == true)
{
foreach (Product product in productList)
{
xmlWriter.WriteStartElement("Product");
xmlWriter.WriteElementString("Id", product.ProdId);
xmlWriter.WriteElementString("Name", product.ProdName);
xmlWriter.WriteElementString("GroupId", product.ProdGroup);
xmlWriter.WriteElementString("Price", product.ProdPrice.ToString((Consts.FORMATTED_PRICE)));
xmlWriter.WriteEndElement();
}
}
}
public void Close()
{
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
}
アプリケーションはエラーなしで実行されますが、xml ファイルを見ると、製品名に上記の文字のいずれかが含まれていると xmlwriter が製品ノードの書き込みを停止するため、xml は不完全です。
この問題を解決する方法はありますか?