Ich habe die folgende Variable, die einen Dateinamen akzeptiert:Wie erstelle ich ein XML-Dokument von einem .NET-Objekt?
var xtr = new XmlTextReader(xmlFileName) { WhitespaceHandling = WhitespaceHandling.None };
var xd = new XmlDocument();
xd.Load(xtr);
Ich mag würde, es zu ändern, so dass ich in einem Objekt passieren kann. Ich möchte das Objekt nicht zuerst als Datei serialisieren müssen.
Ist das möglich?
Update:
Meine ursprüngliche Absichten waren ein XML-Dokument zu nehmen, verschmelzen einige Xslt (in einer Datei gespeichert sind), dann ausgegeben und zurück html ... wie folgt aus:
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();
}
In der obigen Code lese ich in der XML aus einer Datei. Jetzt möchte ich nur mit dem Objekt arbeiten, bevor es in die Datei serialisiert wurde.
Also lassen Sie mich mein Problem veranschaulichen Code
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);
}
ich nicht folgen, was Sie wollen Kannst du ein besseres Beispiel veröffentlichen? –
ändern * was *, damit Sie ein Objekt übergeben können? Der XmlTextReader? Sie möchten ein Objekt an den XmlTextReader übergeben? Und was erwartest du * raus *? – Cheeso
@JL: Sie sollten 'new XmlTextReader()' nicht verwenden. Sie sollten stattdessen 'XmlReader.Create()' verwenden. –