J'ai un xmlWriter et je veux écrire une chaîne qui contient des caractères de "/" "<" ">" (qui font partie de la syntaxe xml et cassent le code xml). Voici mon code C#:C# XMLWriter + empêcher "/" "<" "<" caractères
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();
}
L'application fonctionne sans erreur, mais si je regarde dans le fichier xml, le xml est incomplet parce que le xmlwriter cesse d'écrire les nœuds de produit lorsqu'un nom de produit contient l'un des plus haut personnages mentionnés.
Existe-t-il un moyen de résoudre ce problème?
Pourquoi les downvotes? Au moins vous pourriez expliquer ... – Shimrod