Tôi phải chỉnh sửa biểu định kiểu XSLT, nhưng tôi bị mù do đầu vào XML chỉ tồn tại trong một loạt các luồng. Tôi có thể gỡ lỗi vào mã, nhưng không thể tìm ra cách lấy nội dung của các luồng ra thành văn bản mà tôi có thể xem (và chạy qua XSLT theo cách thủ công trong khi tôi đang chỉnh sửa chúng).Cách kiểm tra luồng XML từ trình gỡ rối trong Visual Studio 2003
Mã này là một phần của hệ thống cũ cũ, tôi có thể sửa đổi nó trong môi trường gỡ lỗi nếu cần thiết, nhưng nó chạy trong dịch vụ windows được kết nối với một loạt MSMQ. Vì vậy, vì nhiều lý do tôi muốn có thể sử dụng trình gỡ rối để xem XML mà không phải thay đổi mã đầu tiên.
Mã nhiều đơn giản, là một cái gì đó như thế này: (C# - nhưng hãy nhớ nó .net 1.1 trong VS 2003.)
Đây là chức năng mà được XML như một dòng suối, sau đó được đưa vào một số loại đối tượng chuyển đổi XSLT. Tôi đã thử nhìn vào các đối tượng writer và xmlStream trong các cửa sổ đồng hồ và cửa sổ ngay lập tức, nhưng không thể hiểu rõ cách xem XML thực tế.
private MemoryStream GetXml()
{
MemoryStream xmlStream;
xmlStream = new MemoryStream();
XmlWriter writer = new XmlTextWriter(xmlStream, Encoding.UTF8);
writer.WriteStartDocument();
//etc etc...
writer.WriteEndDocument();
writer.Flush();
xmlStream.Position = 0;
return xmlStream; //Goes off to XSLT transform thingy!
}
Tất cả trợ giúp được đánh giá cao.
Đối với bất kỳ ai truy cập câu trả lời này từ Google (như tôi đã làm), xin lưu ý rằng bạn có thể cần phải đặt lại con trỏ Luồng về đầu nếu nó đã được đọc từ đó. Điều này có thể được thực hiện bằng cách sử dụng 'xmlStream.Position = 0;' hoặc 'xmlStream.Seek (0, SeekOrigin.Begin);'. Vì biểu thức đã xem không tự động cập nhật sau khi thực hiện việc này, tôi khuyên bạn nên thực hiện cả hai lệnh từ Cửa sổ ngay lập tức. –