2011-01-10 36 views
5

im cố gắng để tạo ra một tập tin xml và sau đó lưu nó vào một vị trí tập tin ...tạo file xml lập trình

string xmlPath = AppDomain.CurrentDomain.BaseDirectory.ToString() + "cities.xml"; 

XDocument doc = new XDocument( 
     new XElement("Cities", 
      new XElement("City", 
       new XAttribute("id", gid), 
       new XElement("CityName", cityname)))); 
doc.Save(xmlPath); 

vấn đề là nó không được lưu vào vị trí quy định ...

+0

Các bạn đã thử gỡ nó để kiểm tra những gì con đường thực tế là nó được đưa ra khi nó cố gắng tiết kiệm? Ngoài ra bạn có nhận được bất kỳ lỗi nào, hoặc là tập tin đơn giản không phải là nơi bạn mong đợi nó? – Adkins

+0

Có lỗi hoặc đầu ra nào không? Bạn đã kiểm tra xem đường dẫn trong 'xmlPath' có hợp lệ không? Bạn có đóng/dừng ứng dụng trước khi tìm tệp không? –

+0

bạn có thể kiểm tra biến xmlPath trước khi gọi lưu để xem giá trị của nó, mặc định * AppDomain.CurrentDomain.BaseDirectory.ToString() * = thư mục gỡ lỗi của ứng dụng –

Trả lời

3

Mã có vẻ tốt và khi tôi thử nghiệm tại địa phương nó hoạt động. Đảm bảo rằng xmlPath trỏ đến thư mục mà người dùng hiện tại có quyền ghi. Một lưu ý phụ sẽ tốt hơn nếu sử dụng Path.Combine.

+0

yup mã đang hoạt động ... tnx mọi người để trả lời ... – Rafay

8

Cố gắng sử dụng phương pháp System.IO.Path.Combine để chắc chắn rằng bạn a) có dấu chéo ngược cần thiết giữa các thư mục và tên tập tin, và b) chắc chắn rằng bạn không có nhiều của những người:

string xmlPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, 
             "cities.xml"); 

Ngoài ra: có thể tài khoản người dùng của bạn không có quyền ghi vào thư mục đó. Hãy thử sử dụng một cái gì đó như Isolated Storage hoặc một số thư mục khác bạn đang 100% chắc chắn mà người dùng được phép ghi vào.

+1

Chúc mừng 100k của bạn! ;-) –

1

Điều tốt nhất bạn có thể làm là chạy chương trình này thông qua trình gỡ rối và kiểm tra xem vị trí đó được đưa vào biến xmlpath, và cũng kiểm tra xem người dùng cục bộ bình thường có quyền ghi vào thư mục này hay không. Có thể có bất kỳ số lượng sự cố nào với thư mục hoặc đường dẫn được cung cấp. Nếu không có bất kỳ thông tin nào khác, thật khó để đưa ra một câu trả lời mô tả chi tiết hơn.

2

nếu bạn đang sử dụng một con đường ứng dụng cửa sổ sẽ được trỏ đến thư mục bin i nghĩ rằng đó là tiết kiệm trong thư mục bin