XDocument.load(string uri) throws ArgumentNullException

本文关键字:throws ArgumentNullException uri string load XDocument | 更新日期: 2023-09-27 17:54:36

我得到一个ArgumentNullException时调用

string filepath = @"AppData'TestAppData.xml";
        if (filepath != null)
        {
            XDocument xdoc = XDocument.Load(filepath); 
        }

下面是异常的详细信息。它说,"格式"参数是空的-但在什么时候我能够控制这个参数?或者我到底错在哪里?

> System.ArgumentNullException was unhandled by user code
>     HResult=-2147467261
>     Message=Value cannot be null.
>     Parameter name: format
>     ParamName=format
>     Source=mscorlib
>     StackTrace:
>        at System.String.FormatHelper(IFormatProvider provider, String format,   ParamsArray args)
>        at System.String.Format(String format, Object[] args)
>        at System.SR.Format(String resourceFormat, Object[] args)
>        at System.Xml.XmlException.CreateMessage(String res, String[] args, Int32 lineNumber, Int32 linePosition)
>        at System.Xml.XmlException..ctor(String res, String[] args, Exception innerException, Int32 lineNumber, Int32 linePosition, String
> sourceUri)
>        at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
>        at System.Xml.XmlTextReaderImpl.ParseAttributeValueSlow(Int32 curPos, Char quoteChar, NodeData attr)
>        at System.Xml.XmlTextReaderImpl.ParseAttributes()
>        at System.Xml.XmlTextReaderImpl.ParseElement()
>        at System.Xml.XmlTextReaderImpl.ParseElementContent()
>        at System.Xml.XmlTextReaderImpl.Read()
>        at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
>        at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
>        at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
>        at System.Xml.Linq.XDocument.Load(String uri, LoadOptions options)
>        at System.Xml.Linq.XDocument.Load(String uri)

XDocument.load(string uri) throws ArgumentNullException

你需要这个

string EnviromentPath = Path.GetDirectoryName(HostingEnvironment.ApplicationPhysicalPath);

获取项目目录的路径然后你应该在

之后组合它们
Path.Combine(EnviromentPath,@"AppData'TestAppData.xml");

看一下这个:我如何使用XDocument.Load()在应用程序目录

中获取文件

文件路径似乎不正确,试试这个

XDocument xdoc = XDocument.Load(filepath);