que tienen la variable siguiente que acepta un nombre de archivo:¿Cómo crear un documento XML a partir de un objeto .NET?
var xtr = new XmlTextReader(xmlFileName) { WhitespaceHandling = WhitespaceHandling.None };
var xd = new XmlDocument();
xd.Load(xtr);
me gustaría cambiarlo para que pueda pasar en un objeto. No quiero tener que serializar el objeto para archivar primero.
¿Esto es posible?
Actualización:
Mis intenciones originales eran para tomar un documento XML, fusionar algunos XSLT (almacenado en un archivo), entonces la salida y la de regreso html ... como esto:
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();
}
En el encima del código que estoy leyendo en el xml de un archivo. Ahora lo que me gustaría hacer es simplemente trabajar con el objeto, antes de que se serializara en el archivo.
Así que permítanme ilustrar mi problema utilizando el código
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);
}
no sigo lo que están queriendo ¿puedes publicar un mejor ejemplo? –
cambiar * ¿qué * para poder pasar un objeto? El XmlTextReader? quieres pasar un objeto al XmlTextReader? ¿Y qué esperas sacar * *? – Cheeso
@JL: no debe usar 'new XmlTextReader()'. Debería usar 'XmlReader.Create()' en su lugar. –