Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
路径-C#中的非法字符,正在读取xml_C#_Xml - Fatal编程技术网

路径-C#中的非法字符,正在读取xml

路径-C#中的非法字符,正在读取xml,c#,xml,C#,Xml,我试图将xml读入SQL,但在“ds.ReadXml(“C:\test.xml”);”行中出现错误, 有什么不对劲的提示吗?谢谢 tring connectionString = "Data Source=MyServer\\SQLEXPRESS;Initial Catalog=MyCatalog;Password=xxx;Persist Security Info=True;User ID=xxx"; DataSet ds = new DataSet(); Da

我试图将xml读入SQL,但在“ds.ReadXml(“C:\test.xml”);”行中出现错误, 有什么不对劲的提示吗?谢谢

tring connectionString = "Data Source=MyServer\\SQLEXPRESS;Initial Catalog=MyCatalog;Password=xxx;Persist Security Info=True;User ID=xxx";
        DataSet ds = new DataSet();
        DataTable sourcedata = new DataTable();
        ds.ReadXml("C:\test.xml");

        sourcedata = ds.Tables[0];

        using (SqlConnection sqlconn = new SqlConnection(connectionString))
        {
            sqlconn.Open();
            using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlconn))
            {
                bulkCopy.ColumnMappings.Add("ID", "ID");
                bulkCopy.ColumnMappings.Add("user_id", "user_id");
                bulkCopy.ColumnMappings.Add("upload_date", "upload_date");
                bulkCopy.ColumnMappings.Add("userAddr", "userAddr");
                bulkCopy.ColumnMappings.Add("serial_no", "serial_no");
                bulkCopy.ColumnMappings.Add("Mfgr", "Mfgr");
                bulkCopy.ColumnMappings.Add("model", "model");
                bulkCopy.ColumnMappings.Add("description", "description");
                bulkCopy.ColumnMappings.Add("type", "type");
                bulkCopy.ColumnMappings.Add("code", "code");
                bulkCopy.ColumnMappings.Add("comments", "comments");
                bulkCopy.ColumnMappings.Add("qty", "qty");
                bulkCopy.ColumnMappings.Add("condition", "condition");
                bulkCopy.ColumnMappings.Add("location", "location");
                bulkCopy.ColumnMappings.Add("price", "price");
                bulkCopy.DestinationTableName = "Upload";
                bulkCopy.WriteToServer(sourcedata);
            }
        }
    }

尝试转义“\”符号:

ds.ReadXml("C:\\test.xml");

尝试转义“\”符号:

ds.ReadXml("C:\\test.xml");
尝试更改此选项:

ds.ReadXml("C:\test.xml"); 

尝试更改此选项:

ds.ReadXml("C:\test.xml"); 


您需要转义
\
,例如:
ds.ReadXml(“C:\\test.xml”)
ds.ReadXml(@“C:\test.xml”)

您需要转义
\
,例如:
ds.ReadXml(“C:\\test.xml”)
ds.ReadXml(@“C:\test.xml”)

尝试:

ds.ReadXml(@"C:\test.xml");
\t被视为水平制表符,除非您转义它。

尝试:

ds.ReadXml(@"C:\test.xml");

\t被视为水平制表符,除非您将其转义。

您的
C:\test.xml
被读取为
C:(制表符)est.xml
。在字符串前面加一个@:
@“C:\test.xml”
,或者用
“C:\\test.xml”
将其转义


十次中有九次,当你犯这个错误时,你会收到一条“非法转义字符”的错误消息,错误的地方会更加明显,但在这种情况下,它恰好是合法的。

你的
C:\test.xml
被解读为
C:(制表符)est.xml
。在字符串前面加一个@:
@“C:\test.xml”
,或者用
“C:\\test.xml”
将其转义


十次中有九次,当你犯这个错误时,你会收到一条“非法转义字符”的错误消息,错误的地方会更加明显,但在这种情况下,它恰好是合法的。

你的问题是你的\字符需要转义。目前它被读取为
\t
,这是一个制表符,无效。您想要:

ds.ReadXml(@"C:\test.xml");
ds.ReadXml("C:\\test.xml");

您的问题是\字符需要转义。目前它被读取为
\t
,这是一个制表符,无效。您想要:

ds.ReadXml(@"C:\test.xml");
ds.ReadXml("C:\\test.xml");

您可以在字符串前面加一个@:

ds.ReadXml(@"C:\test.xml"); 

这被称为a

您可以在字符串前面加一个@:

ds.ReadXml(@"C:\test.xml"); 

这称为一个

希望您的xml文件格式正确。您只需使用ds.ReadXml(@“C:\test.xml”)
而不是ds.ReadXml(“C:\test.xml”)

希望您的xml文件格式正确。只需使用ds.ReadXml(@“C:\test.xml”)
而不是ds.ReadXml(“C:\test.xml”)

ds.ReadXml(“C:\test.xml”)
应该是
ds.ReadXml(@“C:\test.xml”)-要么使用字符串文字,要么通过“\`-1”转义反斜杠,这样的问题看起来相当苛刻。问题很清楚。包括必要的代码(略多于需要,但不过量)。对我来说这似乎是一个很好的问题
ds.ReadXml(“C:\test.xml”)
应该是
ds.ReadXml(@“C:\test.xml”)-要么使用字符串文字,要么通过“\`-1”转义反斜杠,这样的问题看起来相当苛刻。问题很清楚。包括必要的代码(略多于需要,但不过量)。对我来说这似乎是一个很好的问题;谢谢大家,我试过“\\”但对@Thank everyone效果很好,我试过“\\”但对@Thank everyone效果很好@