CSharp如何从字符串生成/解析多个XElements

时间:2010-02-03 15:25:08

标签: xml string add xelement

我有一个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 个答案:

答案 0 :(得分:1)

如果这是整个文件,那么为您提供错误是正常的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>