首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >路径中存在非法字符- C#,正在读取xml

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

Stack Overflow用户
提问于 2011-09-05 16:37:39
回答 8查看 2K关注 0票数 1

我正在尝试将xml读入SQL,但在"ds.ReadXml("C:\test.xml");“行出现错误,有什么问题的提示吗?谢谢

代码语言:javascript
复制
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);
            }
        }
    }
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-09-05 16:40:30

您的C:\test.xml将被读取为C:(tab character)est.xml。在字符串前面放一个@:@"C:\test.xml",或者用"C:\\test.xml"对其进行转义。

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

票数 5
EN

Stack Overflow用户

发布于 2011-09-05 16:39:59

尝试转义'\‘符号:

代码语言:javascript
复制
ds.ReadXml("C:\\test.xml");
票数 4
EN

Stack Overflow用户

发布于 2011-09-05 16:40:28

尝试:

代码语言:javascript
复制
ds.ReadXml(@"C:\test.xml");

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7305641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档