none
關於XDocument Save()之儲存問題 RRS feed

  • 問題

  • Hi,

    小弟在撰寫應用程式時,使用XDocument來對xml做存取

    但發現儲存時,若檔案路徑中的資料夾名稱含有"."或"#"等特殊符號就會無法儲存

    而之前小弟也曾使用過XmlDocument,似乎沒有這個問題

    若使用XDocument的話,不知道該如何解決?

    2013年9月4日 上午 03:36

解答

  • 您好,

    請問您的Code可以Po出來嗎? 小弟使用以下的Code,都OK哦!

    XDocument xdoc = XDocument.Load(@"H:\X.Do#c\test.xml");
                xdoc.Save(@"H:\X.Do#c\test.xml");
    
                XDocument doc = new XDocument(
                    new XElement("books",
                                 new XElement("book", new XAttribute("publisher", "DP"),
                                              new XElement("id", "1"),
                                              new XElement("title", "ADO.NET 3.5  ")),
                                 new XElement("book", new XAttribute("publisher", "DP"),
                                              new XElement("id", "2"),
                                              new XElement("title", "ADO.NET 2.0  "))
                        ));
                doc.Save(@"H:\X.Do#c\test3.xml");


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    • 已標示為解答 kevin80101 2013年9月4日 上午 06:05
    2013年9月4日 上午 04:43

所有回覆

  • 您好,
    小弟使用以下的code不會有問題說!

    XDocument xdoc = XDocument.Load(@"H:\X.Do#c\test.xml");

    請問您的錯誤訊息是什麼呢?


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2013年9月4日 上午 03:45
  • 您好

    不是load,load沒問題,是無法save

    而且沒有錯誤訊息,訊息沒有被存起來

    補充

    使用單步執行檢視過,執行過程都正常

    使用try-catch也沒抓到任何錯誤訊息

    但是訊息就是存不起來


    • 已編輯 kevin80101 2013年9月4日 上午 04:04
    2013年9月4日 上午 04:00
  • 您好,

    請問您的Code可以Po出來嗎? 小弟使用以下的Code,都OK哦!

    XDocument xdoc = XDocument.Load(@"H:\X.Do#c\test.xml");
                xdoc.Save(@"H:\X.Do#c\test.xml");
    
                XDocument doc = new XDocument(
                    new XElement("books",
                                 new XElement("book", new XAttribute("publisher", "DP"),
                                              new XElement("id", "1"),
                                              new XElement("title", "ADO.NET 3.5  ")),
                                 new XElement("book", new XAttribute("publisher", "DP"),
                                              new XElement("id", "2"),
                                              new XElement("title", "ADO.NET 2.0  "))
                        ));
                doc.Save(@"H:\X.Do#c\test3.xml");


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    • 已標示為解答 kevin80101 2013年9月4日 上午 06:05
    2013年9月4日 上午 04:43
  • 您好

    不好意思,

    仔細一看發現,原來是小弟的路徑變數中少了一個斜線,謝謝。

    2013年9月4日 上午 06:05