Вопрос

У меня есть форма InfoPath в рабочем процессе SharePoint. Я пытаюсь использовать чистую копию XML, созданного InfoPath, для создания новых экземпляров формы для библиотеки документов для запуска рабочего процесса, а не в этом моя проблема. У меня есть приложение, которое копирует файл в библиотеку документов, но когда я пытаюсь заполнить XML, я получаю эту ошибку:

  

Данные на корневом уровне недействительны.   Строка 1, позиция 1

в строке, которая читает

doc.LoadXml("copiedFile.xml");

Я понятия не имею, почему это происходит, поскольку, насколько мне известно, XML хорошо сформирован (так как это выполняется автоматически InfoPath), поэтому я не вижу, в чем проблема.

первые четыре строки XML выглядят следующим образом:

<?xml version="1.0" encoding="utf-8"?>  
<?mso-infoPathSolution name="urn:schemas-microsoft-com:office:infopath:InfoPathForm:-myXSD-2009-10-12T13-20-27" solutionVersion="1.1.0.84" productVersion="12.0.0.0" PIVersion="1.0.0.0" href="http://seed-dev1/FormServerTemplates/InfoPathForm%5B3%5D.xsn"?>
<?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.2"?>
<my:myFields xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-10-12T13:20:27" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xml:lang="en-US">
Это было полезно?

Решение

Можно попробовать дать ...

doc.Load("copiedFile.xml");

идти.

Другие советы

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

Не могли бы вы опубликовать свой код для создания этого XML-файла? Вы заметили "странный" первый символ в вашем файле?

У меня раньше была такая проблема. Я не уверен, что вызвало это, вероятно, кодировка.

Откройте файл в программе, такой как notepad2. Что бы вы ни использовали, вам нужно увидеть пробелы. Первая пара персонажей будет бредовой. удалите пробел и сохраните документ.

затем верните свое приложение назад.

Надеюсь, это сработает для вас.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top