CSharp Как генерировать / анализировать несколько XElements из строки - PullRequest
0 голосов
/ 03 февраля 2010

У меня есть XElement, и мне нужно добавить в него больше элементов из строки. Строка содержит несколько элементов XML, которые мне нужно проанализировать. Я пробовал и XDocument.Load и XElement.Parse, но получаю ошибки. Содержимое файла выглядит следующим образом:

<menu id="a">
  <menuItem keyID="0">
    <command>test</command>
  </menuItem>
  <menuItem keyID="0">
    <command>test</command>
  </menuItem>     
</menu>
<menu id="b">
  <menuItem keyID="0">
    <command>test</command>
  </menuItem>
  <menuItem keyID="0">
    <command>test</command>
  </menuItem>     
</menu>    
<ecs>
  <areas>
    <area longitudeFrom="20.35" longitudeTo="20.37" />
    <area longitudeFrom="20.44" longitudeTo="20.46" />
    <area longitudeFrom="20.22" longitudeTo="20.25" />
  </areas>
</ecs>

Каков наилучший способ прочитать все элементы из этой строки и добавить их в существующий XElement?

1 Ответ

1 голос
/ 03 февраля 2010

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

<root>
    <menu id="a">
      <menuItem keyID="0">
        <command>test</command>
      </menuItem>
      <menuItem keyID="0">
        <command>test</command>
      </menuItem>     
    </menu>
    <menu id="b">
      <menuItem keyID="0">
        <command>test</command>
      </menuItem>
      <menuItem keyID="0">
        <command>test</command>
      </menuItem>     
    </menu>    
    <ecs>
      <areas>
        <area longitudeFrom="20.35" longitudeTo="20.37" />
        <area longitudeFrom="20.44" longitudeTo="20.46" />
        <area longitudeFrom="20.22" longitudeTo="20.25" />
      </areas>
    </ecs>
</root>
...