2008-10-23 27 views

Trả lời

9

Tôi chưa bao giờ cố gắng, nhưng suy nghĩ đầu tiên của tôi sẽ là một cái gì đó như:

XmlNode myNode; 
XNode translatedNode = XDocument.Parse(myNode.OuterXml); 
0

Tôi không nghĩ có, nhưng tại sao bạn cần? Mỗi cái là "lá" thấp nhất của cấu trúc Xml cho các cách đọc tài liệu khác nhau.

Nếu bạn sử dụng LINQ to Xml và XDocument bạn sẽ có tất cả cú pháp kiểu LINQ và chức năng mới, nhưng thực sự tất cả chỉ là chọn một nút.

Khi bạn có yếu tố mà bạn đang xử lý, tại sao bạn cần chuyển đổi?

+0

Chỉ có một số mã cũ đang trả lại XmlNode nhưng tôi muốn truy vấn nút này, đây thực sự là một tài liệu. – Dave

10

Eric White's blog là nơi để được cho XML/chuyển đổi XLINQ mát mẻ và như vậy. Tôi biết câu hỏi này trước ngày đăng bài nhưng tôi đã tìm thấy nó trong khi xem xét một số câu hỏi khác, vì vậy có thể mọi người vẫn gặp phải một số tiền hợp lý. Blog của anh ta có rất nhiều LINQ tối ưu, như tôi nghi ngờ lời gọi .Parse() cho phản ứng gốc là không tối ưu, thực tế là tôi biết nó không phải là.

Phân tích cú pháp sẽ yêu cầu XML được tải lên trong một lần chụp, Eric đã sử dụng các phương pháp mở rộng xử lý chuyển đổi XML bằng XmlReader/Writer. Những phương thức đó có thể truyền luồng đầu vào, vì vậy nếu XML của bạn có kích thước bất kỳ, bạn phải sử dụng chúng.

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