Tôi có biến sau đó chấp nhận một tên file:Làm thế nào để tạo một tài liệu XML từ một đối tượng .NET?
var xtr = new XmlTextReader(xmlFileName) { WhitespaceHandling = WhitespaceHandling.None };
var xd = new XmlDocument();
xd.Load(xtr);
Tôi muốn thay đổi nó để tôi có thể vượt qua trong một đối tượng. Tôi không muốn phải serialize các đối tượng để tập tin đầu tiên.
Điều này có khả thi không?
Cập nhật:
ý định ban đầu của tôi là để có một tài liệu xml, sáp nhập một số XSLT (được lưu trữ trong một tập tin), sau đó đầu ra và trở về html ... như thế này:
public string TransformXml(string xmlFileName, string xslFileName)
{
var xtr = new XmlTextReader(xmlFileName) { WhitespaceHandling = WhitespaceHandling.None };
var xd = new XmlDocument();
xd.Load(xtr);
var xslt = new System.Xml.Xsl.XslCompiledTransform();
xslt.Load(xslFileName);
var stm = new MemoryStream();
xslt.Transform(xd, null, stm);
stm.Position = 1;
var sr = new StreamReader(stm);
xtr.Close();
return sr.ReadToEnd();
}
Trong ở trên mã tôi đang đọc trong xml từ một tập tin. Bây giờ những gì tôi muốn làm là chỉ làm việc với đối tượng, trước khi nó được tuần tự hóa vào tệp.
Vì vậy, hãy để tôi minh họa cho vấn đề của tôi sử dụng mã
public string TransformXMLFromObject(myObjType myobj , string xsltFileName)
{
// Notice the xslt stays the same.
// Its in these next few lines that I can't figure out how to load the xml document (xd) from an object, and not from a file....
var xtr = new XmlTextReader(xmlFileName) { WhitespaceHandling = WhitespaceHandling.None };
var xd = new XmlDocument();
xd.Load(xtr);
}
Tôi không làm theo những gì bạn đang mong muốn làm, bạn có thể đăng một ví dụ tốt hơn? –
thay đổi * những gì * để bạn có thể chuyển vào một đối tượng? XmlTextReader? bạn muốn truyền một đối tượng cho XmlTextReader? Và những gì bạn mong đợi để có được * ra *? – Cheeso
@JL: bạn không nên sử dụng 'new XmlTextReader()'. Bạn nên sử dụng 'XmlReader.Create()' để thay thế. –