我有一个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后它抛出了一个错误。 不知道我做错了什么.. 任何人都可以帮助我吗?
答案 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文件的内容。