亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

該字符串未被識別為有效的 uri

該字符串未被識別為有效的 uri

C#
繁星coding 2022-07-23 17:20:19
當我運行我的方法時,我收到錯誤:System.ArgmentException:字符串未被識別為有效的 uriprivate void loadXMLBttn_Click(object sender, RoutedEventArgs e){    OpenFileDialog selectConfigFile = new OpenFileDialog();    selectConfigFile.Title = "Select an existing XML config file...";    selectConfigFile.InitialDirectory = @"C:\";    selectConfigFile.DefaultExt = ".xml";    selectConfigFile.Filter = "xml files|.xml|All files (*.*)|*.*";    var selectedFile = selectConfigFile.SafeFileName;    selectConfigFile.ShowDialog();    XDocument configFile = XDocument.Load(selectedFile);}
查看完整描述

2 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

您收到此異常是因為您的selectedFile變量從未真正填充過。


在顯示對話框并允許用戶選擇 XML 文件后,您需要填充selectedFile變量:


selectConfigFile.ShowDialog();

var selectedFile = selectConfigFile.SafeFileName;

XDocument configFile = XDocument.Load(selectedFile);


查看完整回答
反對 回復 2022-07-23
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

是的,問題是您在顯示對話框之前設置了 selectedFile 。如果您將代碼重寫為這種方式,則可以100%解決問題:


private void loadXMLBttn_Click(object sender, RoutedEventArgs e)

{

    OpenFileDialog selectConfigFile = new OpenFileDialog()

    {

        Title = "Select an existing XML config file...",

        InitialDirectory = @"C:\",

        DefaultExt = "*.xml",

        Filter = "XML files|*.xml|All files (*.*)|*.*"

    };

    if (selectConfigFile.ShowDialog() == true)

    {

        var selectedFile = selectConfigFile.FileName;

        XDocument configFile = XDocument.Load(selectedFile);

    }

}

這將修復一個過濾器,該過濾器在您的示例中不起作用,它使文件對話框選項初始化程序更加清晰。此外,如果用戶不選擇任何文件 - 它不會嘗試加載空字符串路徑


查看完整回答
反對 回復 2022-07-23
  • 2 回答
  • 0 關注
  • 222 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號