2014-07-06 14 views
20

Làm thế nào tôi có thể chuyển đổi XElement thành XDocument? Có một số phương pháp tích hợp cho điều này? Cách duy nhất tôi có thể nghĩ là không có new XDocument(xelement.ToString()) sẽ dẫn đến việc tạo ra các chuỗi lớn và sau đó phân tích chúng, do đó làm giảm hiệu suất.Làm thế nào để chuyển đổi XElement thành XDocument

+0

Tại sao bạn cần điều này? – EZI

+0

Tôi có một số mã sử dụng XDocument trong khi tôi có XElement, không muốn viết lại nó – atikot

+0

hoạt động! cảm ơn @EZI – atikot

Trả lời

32

Chỉ cần vượt qua XElement đến constructor của XDocument:

var xdoc = new XDocument(new XElement("a", "b")); 
+3

Nếu đó là một 'XElement' mới, bạn cũng có thể lấy thuộc tính' Tài liệu '. – Darek

+2

'XElement.Document' có luôn không phải là null không? –

2

Tôi đã có thành công lớn với điều này:

var xDoc = XDocument.Load(xml.CreateReader());

Các vấn đề liên quan