XML Запись значения элемента в виде строки, выдающей ошибку ввода-вывода C# - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь держать файл журнала XML. Пример кода ниже.

private class LogFunctionInfo
{
    private string logName;
    public string FunctionName;
    public Type FunctionClassType;
    public int Displayed;
    public int Offset;
    public int Multiplier;

    public string LogName { get => logName; set => logName = value; }
    public override string ToString()
    {
        return logName;
    }
}

private LogFunctionInfo[] LoggingFunctions = {bla bla bla};
loggingNames = LoggingFunctions.Select(a => a.ToString().Replace(" ", "").Clone().ToString()).ToArray();
do
{
    try
    {
        XElement xml = XElement.Load(xmlLogFileName);

        for (int LineCounter = 0; LineCounter < LogBufferCounter; LineCounter++)
        {
            Dictionary<string, int> dictionary = new Dictionary<string, int>();

            for (int count = 0; count < LogNumber; count++)
            {
                //dictionary.Add("Value" + count, LogBuffer[LineCounter][count]); // If I use this, its working like a charm.
                dictionary.Add(loggingNames[count], LogBuffer[LineCounter][count]); // If I use this, giving XmlException at System.Xml.dll error
                minute = count == 22 ? LogBuffer[LineCounter][count] : minute;
            }
            xml.Add(new XElement("GraphValues",
                new XAttribute("Time", minute),
                new XElement("Values",
                dictionary.Select(element => new XElement(element.Key, element.Value)))));
            dictionary.Clear();
        }
        xml.Save(xmlLogFileName);
        Flushed = true;
        LogBufferCounter = 0;
    }
    catch
    {
        Flushed = false;
    }
} while (Flushed == false);

Это дает System. Xml .Exception, когда я использую строковый массив, значения которого поступают из объекта. В чем разница между заполнением вручную («Значение» + количество) с использованием заполненного массива?

1 Ответ

0 голосов
/ 19 февраля 2020

Я удалил блок try catch, чтобы получить подробную информацию об исключении. Спасибо, что спросили подробности у @Cee McSharpface и @ Mar c Gravell ♦

Речь шла о моем массиве, ребята, вы правы. В моем массиве одна строка начинается с числа и выдает ошибку XML.

Проблема решена, спасибо еще раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...