2013-05-06 33 views
12

Tôi có một chuỗi inputXMLString và biến thứ hai tiếp tục chuyển đổi XSL có tên là transformXSLString. Cả hai đều được định dạng đúng xml.Làm cách nào để sử dụng XslCompiledTransform khi nhập XML và biến XSL là các chuỗi. Làm cách nào để nhận kết quả chuyển đổi dưới dạng chuỗi?

Cách thực hiện phép chuyển đổi bằng XslCompiledTransform trong C# để nhận kết quả dưới dạng chuỗi, hãy nói resultXMLString?

Trả lời

17

Bạn có thể sử dụng XmlReader và StringReader tương ứng StringWriter:

string inputXML = "..."; 
string transformXSL = "..."; 

XslCompiledTransform proc = new XslCompiledTransform(); 

using (StringReader sr = new StringReader(transformXSL)) 
{ 
    using (XmlReader xr = XmlReader.Create(sr)) 
    { 
    proc.Load(xr); 
    } 
} 

string resultXML; 

using (StringReader sr = new StringReader(inputXML)) 
{ 
    using (XmlReader xr = XmlReader.Create(sr)) 
    { 
    using (StringWriter sw = new StringWriter()) 
    { 
     proc.Transform(xr, null, sw); 
     resultXML = sw.ToString(); 
    } 
    } 
} 
+0

công trình như một giấc mơ. Thans rất nhiều – Marcin

+0

Cảm ơn! Có vẻ như một chút nilly willy phải có để tạo ra một stringreader sau đó một xmlreader sau đó stringwriter ... nhưng điều này làm việc cho tôi. – enforge

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