错误 - 不支持异常未被用户代码处理

时间:2016-02-05 09:48:48

标签: xml c#-4.0 xpath

我有一个XML文件,我想根据从下拉列表中选择的值动态更新。所以这就是我尝试的逻辑,

阅读和更新XML: -

private void ReadandUpdateXML(string CMEURL)
        {
            XmlDocument doc = new XmlDocument();
            string inputxmlPath = ConfigurationManager.AppSettings["InputDataFileName"];
            doc.Load(inputxmlPath);
            var ParentNode = doc.SelectSingleNode("//TestData");
            if (ParentNode.ChildNodes.Count > 0)
            {
                foreach (XmlNode child in ParentNode)
                {
                    for (int i = 0; i < child.ChildNodes.Count; i++)
                    {
                        child.ChildNodes[i].InnerText = CMEURL;
                    }
                }
                doc.Save(inputxmlPath);
            }
        }

更新XML值后我有一个要求,我需要阅读

阅读XML: -

private static List<TestData> GetInputData(string NodeName)
        {
            string InputFilePath = AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["InputDataFileName"];// "InputData.xml";
            Stream inputStream = File.Open(InputFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);// getting exception here
            XElement xelement = XElement.Load(inputStream);
            var name = from nm in xelement.Elements(NodeName).Descendants()
                       select new
                       {
                           Input = System.Text.RegularExpressions.Regex.Replace(nm.Value, @"\t|\n|\r", "").Trim(),
                           Result = (nm.Attribute("Result") == null ? string.Empty : System.Text.RegularExpressions.Regex.Replace(nm.Attribute("Result").Value, @"\t|\n|\r", "").Trim())
                       };

            List<TestData> tdList = new List<TestData>();
            foreach (var item in name.ToList())
            {
                if (!string.IsNullOrEmpty(item.Input))
                {
                    TestData td = new TestData();
                    td.Input = item.Input;
                    td.Result = item.Result;
                    tdList.Add(td);
                }
            }

            return tdList;
        }

Stream inputStream = File.Open(InputFilePath, FileMode.Open, FileAccess.Read, FileShare.Read); // Getting exception here

异常: - 不支持异常未被用户代码处理。不支持给定路径的格式。

读取XML逻辑之前工作正常..但是在更新xml后它抛出了一个错误。 不知道我做错了什么.. 任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

伙计们!我找到了解决问题的方法..

在web.config中: - 我正在获取如下文件路径

success
success
success
done

我正在读这样的

<add key="InputDataFileName" value="C:\Users\vishnu\Desktop\PQC project\source\Tridion.AutomationDashboard\InputData.xml" />

在阅读XML代码时,我正在获取该文件路径的基本目录,如此

string inputxmlPath = ConfigurationManager.AppSettings["InputDataFileName"];

因此InputFilePath附加了两次。这就是它抛出错误的原因。

我的不好,我没有透露任何关于web.config文件的内容。