Member 13375990 Ответов: 1

Я хочу ограничить загрузку специальных символов, таких как "æ"и " 3quƒ", в XML-документ


Я хочу ограничить загрузку специальных символов, таких как "æ"и " 3quƒ", в XML-документ

[Удален дублированный опубликованный код...]

Что я уже пробовал:

try
{
	XmlDocument doc = new XmlDocument();
	doc.LoadXml(" <item><name>Progress");


	if (0==0)
	{
		XmlElement newElem = doc.CreateElement("start");
		newElem.InnerText = txtpartname.Text;
		doc.DocumentElement.AppendChild(newElem);
		XmlElement newElem1 = doc.CreateElement("starting");
		newElem1.InnerText = txtpartdesg.Text;
		doc.DocumentElement.AppendChild(newElem1);
		XmlElement newElem2 = doc.CreateElement("started");
		newElem2.InnerText = txtpartcomp.Text;
		doc.DocumentElement.AppendChild(newElem2);
		
		doc.PreserveWhitespace = true;
		doc.Save("data.xml");
	}
	else
	{
		label4.Text = "error";
	}
}
catch (Exception)
{
	labl2.Text = "Enter keyboard characters";
}

1 Ответов

Рейтинг:
11

Graeme_Grant

Добавьте метод для удаления нежелательных символов:

static char[] invalid = "æ\"&3quƒ".ToCharArray();
string StripUnwantedCharacters(string input)
{
    string output = "";

    // do work here
    if (!string.IsNullOrEmpty(input))
        output = new string(input.Where(x => !invalid.Contains(x)).ToArray());

    return output;
}

Использовать:
newElem.InnerText = StripUnwantedCharacters(txtpartname.Text);