路径c#中的非法字符 - XmlTextWriter

时间:2014-03-06 16:21:54

标签: c#

我正在使用XmlTextWriter,并在从rest服务加载URL时出错。错误是“路径中的非法字符”。我尝试过使用@“https://www.foo.com/foobar/rest-1/Data/Test?sel=GeneratedFrom&find=TS-01108&findin=Parent.Number

当我单步调试时,我看到该值有引号,但我怀疑它可能是“?”,“=”,“&”要么 ”。”也许

string URL = "https://www.foo.com/foobar/rest-1/Data/Test?sel=GeneratedFrom&find=TS-01108&findin=Parent.Number";

string XML_FILENAME = URL + ".xml";

        WebResponse response = utils.GetRestResponse(URL);
        if (response != null)
        {
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(XmlReader.Create(response.GetResponseStream()));

            // Illegal characters in path happens here
            XmlTextWriter writer = new XmlTextWriter(XML_FILENAME, null);

2 个答案:

答案 0 :(得分:2)

我认为您误解了第一个XmlTextWriter初始化程序参数的用途。如果在那里传递一个字符串参数,那应该是一个文件名而不是一个web资源。

答案 1 :(得分:0)

https://www.foo.com/foobar/rest-1/Data/Test?sel=GeneratedFrom&find=TS-01108&findin=Parent.Number

不是合法的文件名,请将其更改为其他名称。当xml文件写入磁盘时,它需要合法的名称,您的名称包含非法字符。尝试创建一个具有该名称的文本文件,Windows会抱怨。