Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XMLTextWriter C#,未找到标准xml的数据_C#_Exception_Error Handling_Xmltextwriter - Fatal编程技术网

XMLTextWriter C#,未找到标准xml的数据

XMLTextWriter C#,未找到标准xml的数据,c#,exception,error-handling,xmltextwriter,C#,Exception,Error Handling,Xmltextwriter,所以我在这里处理一些核心遗留代码。我们正在谈论.NET2.0。我的问题是,我的程序在运行时抛出了一个异常,信息表明找不到标准XML的数据。我正在使用XMLTextWriter类。由于这是为了工作,我不能粘贴很多代码,但下面是一点。我想知道到底是什么导致了这个错误。任何帮助都将不胜感激 string sStdFile=folder + sNewDtTm + "_s.xml"; // Create a new XmlTextWriter instance

所以我在这里处理一些核心遗留代码。我们正在谈论.NET2.0。我的问题是,我的程序在运行时抛出了一个异常,信息表明找不到标准XML的数据。我正在使用XMLTextWriter类。由于这是为了工作,我不能粘贴很多代码,但下面是一点。我想知道到底是什么导致了这个错误。任何帮助都将不胜感激

string sStdFile=folder + sNewDtTm + "_s.xml";


                // Create a new XmlTextWriter instance
                if(dt.Rows.Count>0) 
                {
                    XmlTextWriter writer = new XmlTextWriter(sStdFile, Encoding.UTF8);

                    // start writing!
                    writer.WriteStartDocument();
                    writer.WriteStartElement("secret");

                    foreach(DataRow dr in dt.Rows)
                    {

                        writer.WriteStartElement("secret");

                        writer.WriteElementString(sFieldNames[0], dr[sFieldNames[0]].ToString());
                        writer.WriteElementString(sFieldNames[1], dr[sFieldNames[1]].ToString());
                        writer.WriteElementString(sFieldNames[2], dr[sFieldNames[2]].ToString());
                        writer.WriteElementString(sFieldNames[3], dr[sFieldNames[3]].ToString());
                        writer.WriteElementString(sFieldNames[4], dr[sFieldNames[4]].ToString());
                        writer.WriteElementString(sFieldNames[5], dr[sFieldNames[5]].ToString());
                        writer.WriteElementString(sFieldNames[6], dr[sFieldNames[6]].ToString());
                        writer.WriteElementString(sFieldNames[7], dr[sFieldNames[7]].ToString());
                        writer.WriteElementString(sFieldNames[8], dr[sFieldNames[8]].ToString());
                        writer.WriteElementString(sFieldNames[9], dr[sFieldNames[9]].ToString());
                        writer.WriteElementString(sFieldNames[10], dr[sFieldNames[10]].ToString());
                        writer.WriteElementString(sFieldNames[11], dr[sFieldNames[11]].ToString());
                        writer.WriteElementString(sFieldNames[12], dr[sFieldNames[12]].ToString());

                        writer.WriteRaw("<" + sFieldNames[13] + ">");
                        writer.WriteCData(dr[sFieldNames[13]].ToString());
                        writer.WriteRaw("</" + sFieldNames[13] + ">");
string sStdFile=folder+snewdtm+“_.xml”;
//创建一个新的XmlTextWriter实例
如果(dt.行数>0)
{
XmlTextWriter=新的XmlTextWriter(sStdFile,Encoding.UTF8);
//开始写吧!
writer.WriteStartDocument();
作者:书面声明(“秘密”);
foreach(数据行dr在dt.行中)
{
作者:书面声明(“秘密”);
WriteElementString(sFieldNames[0],dr[sFieldNames[0]].ToString());
WriteElementString(sFieldNames[1],dr[sFieldNames[1]].ToString());
WriteElementString(sFieldNames[2],dr[sFieldNames[2]].ToString());
WriteElementString(sFieldNames[3],dr[sFieldNames[3]].ToString());
WriteElementString(sFieldNames[4],dr[sFieldNames[4]].ToString());
WriteElementString(sFieldNames[5],dr[sFieldNames[5]].ToString());
WriteElementString(sFieldNames[6],dr[sFieldNames[6]].ToString());
WriteElementString(sFieldNames[7],dr[sFieldNames[7]].ToString());
WriteElementString(sFieldNames[8],dr[sFieldNames[8]].ToString());
WriteElementString(sFieldNames[9],dr[sFieldNames[9]].ToString());
WriteElementString(sFieldNames[10],dr[sFieldNames[10]].ToString());
WriteElementString(sFieldNames[11],dr[sFieldNames[11]].ToString());
WriteElementString(sFieldNames[12],dr[sFieldNames[12]].ToString());
writer.WriteRaw(“”);
WriteCData(dr[sFieldNames[13].ToString());
writer.WriteRaw(“”);

我看不到开始元素“secret”的结束标记,而且foreach循环中的子标记是“secret”,没有结束标记

因此,请使用WriteEndElement()方法关闭标记


此外,代码没有显示Close方法是否被称为XmlTextWriter。没有找到标准XML的数据听起来像是定制的错误消息。您在代码中搜索过此字符串吗?