Нужна помощь в написании и чтении XML-файла в C # - PullRequest
0 голосов
/ 04 марта 2012

Идея - Список вершин (Ключ, X, Y, Приоритет для хранения).

   <?xml version="1.0" encoding="utf-8"?>
   <Vertices>
    <Vertex Key="0" X="149" Y="209" Priority="7" />
    <Vertex Key="1" X="278" Y="128" Priority="7" />
   </Vertex>

Это действительный XML? Мне постоянно говорят, что корневой элемент отсутствует, когда я пытаюсь его открыть ... Если это так, может ли кто-нибудь предоставить действительный код C # XDocument для открытия этого файла?

Ответы [ 2 ]

2 голосов
/ 04 марта 2012

Это недопустимый XML - ваш закрывающий элемент имеет неправильное имя - это будет правильно:

<?xml version="1.0" encoding="utf-8"?>
<Vertices>
  <Vertex Key="0" X="149" Y="209" Priority="7" />
  <Vertex Key="1" X="278" Y="128" Priority="7" />
</Vertices>

Также убедитесь, что если вы загружаете файл XML , вы используете XDocument.Load, а не XDocument.Parse.

1 голос
/ 04 марта 2012

Вы открываете <Vertices>, но закрываете </Vertex>. Необходимо изменить этот последний закрывающий тег на </Vertices>

Примечание:

Если вы загрузите XML-файл в Visual Studio, он скажет вам, является ли он недействительным XML и почему. Для этого примера он дал ошибки:

Error   1   Tag was not closed. XMLFile1.xml    Line 2  Column 5
Error   2   Expecting end tag </Vertices>.  XMLFile1.xml    Line 5  Column 6    

Если у вас нет Visual Studio, вы можете бесплатно загрузить версию Express и получить те же функции.

...