有多个根元素。第1行,第369行

时间:2015-05-19 05:29:52

标签: c# xml

我的c#代码是

             var filename = "C:\\Users\\qadeer.hussain\\Desktop\\gw-msg.log";
    var xmlText = new StringBuilder();
    bool isXml = false;
    XDocument xdoc;
    foreach (var line in System.IO.File.ReadLines(filename))
    {
        if (line.Trim().StartsWith("<Message"))
            isXml = true;

        if (isXml)
        {
            xmlText.Append(line);
            if (line.Trim().EndsWith("</Message>"))
            {
               // xmlText.Clear();
                isXml = false;       
            }
        }
    }
    xdoc = XDocument.Parse(xmlText.ToString());
    xdoc.Save("C:\\Users\\qadeer.hussain\\Desktop\\gw-msg-2.log");

我的xml文件是

          one
          two
          three
         <Message type="sms">
        </Message>
        <Message type="sms">
         </Message>

它给我错误太多的根元素可以帮助我克服这个问题 我尝试了太多的解决方案,但无法解决这个问题。

2 个答案:

答案 0 :(得分:1)

XML在根级别应该只有一个标记。 XML应该看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<Root>
  one
  two
  three
  <Message type="sms">
  </Message>
  <Message type="sms">
  </Message>
</Root>​

答案 1 :(得分:0)

在解析之前添加根元素

xdoc = XDocument.Parse("<root>" + xmlText.ToString() + "</root>");