最近在写C#  xml解析相关代码,遇到一个花了几个小时才解决得问题,记录下:

其实比骄傲简单,从一个xml里面读取数据,然后在从其中抽取自己想要得数据,然后写入另外一个xml中;

 

string readXml = File.ReadAllText(xmlPath);

foreach (var item_case in item_result_Info.Elements("AutoTest_CASE"))

{

    testCase_Writer = new StreamWriter(new FileStream((testCase_NameFile), FileMode.Create));

    testCase_Writer.WriteLine("<AutoTest_CASE>");
    testCase_Writer.WriteLine("\t" + item_case.Element("/TestCase_Name"));

    testCase_Writer.WriteLine("\t" + item_case.Element("TestCase_Index"));

}

重点在红色部分,报错原因提示xml异常,不能以"/"开头, 实际源xml文件中没有 “/TestCase_Name” ,是我手误多写了一个 "/"导致异常得。

解决方法:testCase_Writer.WriteLine("\t" + item_case.Element("TestCase_Name")); 即item_case.Element要确保 传值 是其中节点

同样写入数据可以 按照下面方式写入,不过没有上面方便简单:

 testCase_Writer.WriteLine("\t<TestCase_Name>" + testCase_Name + "</TestCase_Name>");

 

System.Xml.XmlException:“名称不能以“/”字符(十六进制值 0x2F)开头。

 

相关文章: