我的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>
它给我错误太多的根元素可以帮助我克服这个问题 我尝试了太多的解决方案,但无法解决这个问题。
答案 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>");