请问一个在C#里生成xml文档,一定要有root吗?
一旦我把 writer.WriteStartElement(root);注释掉 就会报错啊
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = (" ");
settings.CloseOutput = true;
settings.OmitXmlDeclaration = true;
using (XmlWriter writer = XmlWriter.Create(output, settings))
{
// writer.WriteStartElement(root);
writer.WriteStartDocument();
ArrayList arrText = new ArrayList();
StreamReader objReader = new StreamReader(pathtext);
while (!objReader.EndOfStream)
{
String sLine = objReader.ReadLine();
int start = sLine.IndexOf('(');
int end = sLine.IndexOf(')');
string temp = sLine.Substring(start + 1, end - start - 1);
string[] s = temp.Split(',');
string temp1 = null;
for (int i = 0; i < s.Length; i++)
{
if (s[i].Contains("'"))
{
temp1 = s[i].Substring(1, s[i].Length - 2);
temp1.Trim();
s[i] = temp1;
}
}
writer.WriteStartElement(StartElement);// 注意一定要配对
for (int j = 0; j < s.Length; j++)
{
writer.WriteElementString(colNames[j], s[j]);
}
writer.WriteEndElement();
}
// writer.WriteEndElement();
如果我一旦注释掉这两句 就会报错 貌似是一定要有root
请问我不想有root怎么办?
Token StartElement in state EndRootElement would result in an invalid XML document. Make sure that the ConformanceLevel setting is set to ConformanceLevel.Fragment or ConformanceLevel.Auto if you want to write an XML fragment.
[解决办法]
xml必须要有root,没有root就不是xml了。