Csharp como gerar/analisar vários xelementos a partir de uma string
Pergunta
Eu tenho um Xelement e preciso adicionar mais elementos a ele de uma string. A sequência contém vários elementos XML que eu preciso analisar. Eu tentei o xdocument.load e o xelement.parse, mas recebo erros. O conteúdo do arquivo é o seguinte:
<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>
Qual é a melhor maneira de ler todos os elementos dessa string e adicioná -los a um Xelement existente?
Solução
Se este é o arquivo inteiro, é normal XMLDocument.Load
para lhe dar erros. Para que um XML seja carregado, ele deve ter uma raiz assim. Se o erro estiver em outra coisa, poste a mensagem de erro
<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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow