Xml.LoadData Данные на корневом уровне недействительны, строка 1, позиция 1. Существующие решения не помогают. ⇐ C#
Xml.LoadData Данные на корневом уровне недействительны, строка 1, позиция 1. Существующие решения не помогают.
Я пытаюсь сохранить XML-файл, созданный из строки, в локальную память в App_Data приложения веб-службы C#. Я получаю эту ошибку, несмотря на просмотр предыдущих решений стека:
Данные на корневом уровне недействительны. Строка 1, позиция 1.
Xml-файл, который я пытаюсь сохранить в файл, представляет собой простой список узлов.
Это тестируется с помощью приложения ASP.NET на локальном хосте. (может ли это потенциально повлиять на приложение веб-сервиса? Хотя я не вижу возможности, чтобы это было возможно)
Я попробовал реализовать решения из двух предыдущих вопросов:
[*]Первый [*]Второй
Вот первый код, который я попробовал
XmlDocument doc = новый XmlDocument(); вар xmlWithEscapedCharacters = SecurityElement.Escape(finalXML); //finalXML имеет строковый тип строка _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble()); if((xmlWithEscapedCharacters.StartsWith(_byteOrderMarkUtf8)) { вар LastIndexOfUtf8 = _byteOrderMarkUtf8.Length - 1; xmlWithEscapedCharacters = xmlWithEscapedCharacters.Remove(0, LastIndexOfUtf8); } doc.LoadXml(xmlWithEscapedCharacters); doc.PreserveWhitespace = true; doc.Save("Parks.xml"); Затем я попробовал это из второго решения
string _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble()); if(xmlWithEscapedCharacters[0] == '\ufeff') { вар LastIndexOfUtf8 = _byteOrderMarkUtf8.Length - 1; xmlWithEscapedCharacters = xmlWithEscapedCharacters.Remove(0, LastIndexOfUtf8); } Потом я даже подумал, что в начале файла может быть больше одной спецификации, и попробовал
string _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble()); while (xmlWithEscapedCharacters[0] == '\ufeff') { вар LastIndexOfUtf8 = _byteOrderMarkUtf8.Length - 1; xmlWithEscapedCharacters = xmlWithEscapedCharacters.Remove(0, LastIndexOfUtf8); } В результате произошла ошибка тайм-аута.
Я не понимаю, что мне кажется довольно простой проблемой.
РЕДАКТИРОВАТЬ 2 (неправильный XML-файл, извините): Вот пример допустимого XML-файла. Я добавляю узел с помощью этого кода.
978-0132309981 Внутреннее устройство операционных систем и принципы проектирования Уильям Задержки 480-965-0000 Прентис Холл 2011
Я пытаюсь сохранить XML-файл, созданный из строки, в локальную память в App_Data приложения веб-службы C#. Я получаю эту ошибку, несмотря на просмотр предыдущих решений стека:
Данные на корневом уровне недействительны. Строка 1, позиция 1.
Xml-файл, который я пытаюсь сохранить в файл, представляет собой простой список узлов.
Это тестируется с помощью приложения ASP.NET на локальном хосте. (может ли это потенциально повлиять на приложение веб-сервиса? Хотя я не вижу возможности, чтобы это было возможно)
Я попробовал реализовать решения из двух предыдущих вопросов:
[*]Первый [*]Второй
Вот первый код, который я попробовал
XmlDocument doc = новый XmlDocument(); вар xmlWithEscapedCharacters = SecurityElement.Escape(finalXML); //finalXML имеет строковый тип строка _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble()); if((xmlWithEscapedCharacters.StartsWith(_byteOrderMarkUtf8)) { вар LastIndexOfUtf8 = _byteOrderMarkUtf8.Length - 1; xmlWithEscapedCharacters = xmlWithEscapedCharacters.Remove(0, LastIndexOfUtf8); } doc.LoadXml(xmlWithEscapedCharacters); doc.PreserveWhitespace = true; doc.Save("Parks.xml"); Затем я попробовал это из второго решения
string _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble()); if(xmlWithEscapedCharacters[0] == '\ufeff') { вар LastIndexOfUtf8 = _byteOrderMarkUtf8.Length - 1; xmlWithEscapedCharacters = xmlWithEscapedCharacters.Remove(0, LastIndexOfUtf8); } Потом я даже подумал, что в начале файла может быть больше одной спецификации, и попробовал
string _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble()); while (xmlWithEscapedCharacters[0] == '\ufeff') { вар LastIndexOfUtf8 = _byteOrderMarkUtf8.Length - 1; xmlWithEscapedCharacters = xmlWithEscapedCharacters.Remove(0, LastIndexOfUtf8); } В результате произошла ошибка тайм-аута.
Я не понимаю, что мне кажется довольно простой проблемой.
РЕДАКТИРОВАТЬ 2 (неправильный XML-файл, извините): Вот пример допустимого XML-файла. Я добавляю узел с помощью этого кода.
978-0132309981 Внутреннее устройство операционных систем и принципы проектирования Уильям Задержки 480-965-0000 Прентис Холл 2011
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Xml.LoadData — данные на корневом уровне недействительны. Строка 1, позиция 1
Anonymous » » в форуме C# - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Xml.LoadData — данные на корневом уровне недействительны. Строка 1, позиция 1
Anonymous » » в форуме C# - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Xml.LoadData — данные на корневом уровне недействительны. Строка 1, позиция 1
Anonymous » » в форуме C# - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Подавить предупреждение на уровне решения. Считайте предупреждение ошибкой на уровне решения.
Anonymous » » в форуме C# - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-