为什么visual studio说name1的值为null? XML LINQ

时间:2017-01-06 09:22:19

标签: c# linq visual-studio-2015 linq-to-xml

除了第一个foreach之外,一切都很完美。 当我检查name1的值的值时 - 很明显它有一个值,虽然visual studio抛出“对象引用未设置为对象”(NULL) 当我检查xml文件时,有一个该名称的属性,并且该值被复制到“name1”,但是visual studio会一直告诉它为null。

XML文件:

<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <ExeFileName>answer6</ExeFileName>
  <CFileName>answer6</CFileName>
  <DirectoryC>C:\Users\magshimim\Documents\Magshimim\Programming\Assignment7\</DirectoryC>
  <DirectoryEXE>C:\Users\magshimim\Documents\Magshimim\Programming\Assignment7\</DirectoryEXE>
  <SameStatsMode>true</SameStatsMode>
</Configuration>

using System;
using System.Xml.Linq;
using System.IO; 
XDocument doc = XDocument.Load(Form1.programdir + Form1.ConfigFiles[1]);
            var exename = doc.Descendants("ExeFileName");
            var cfile = doc.Descendants("CFileName");
            var samestats = doc.Descendants("SameStatsMode");
            var directoryc = doc.Descendants("DirectoryC");
            var directoryexe = doc.Descendants("DirectoryEXE");

            foreach (var name1 in cfile)
            {
                Form1.cname[0] = name1.Value;   
            }
           foreach (var name2 in exename)
            {
                Form1.exename = name2.Value;
            }
            foreach (var sm in samestats)
            {
                if (sm.Value == "true")
                {
                    Form1.samestats = true;
                }
                else
                {
                    Form1.samestats = false;
                }
            }

0 个答案:

没有答案