hesaigo999ca
asked on
I need to convert dataset to html...quickly???
I need to convert data inside a dataset dynamically, hopefully using the WriteXml method, then converting in 1 line of code to html....can this be done???
I am expecting to be able to do something like document.XmlToHtml();
Is there already some functionality microsoft has thought of, instead of doing a foreach row loop through my table ...write("<TD>"+col1+</TD> "); etc...
Is it also possible to use this same train of thought to try to copy & paste the
html inside a word document for preview?
Thanks in advance
I am expecting to be able to do something like document.XmlToHtml();
Is there already some functionality microsoft has thought of, instead of doing a foreach row loop through my table ...write("<TD>"+col1+</TD>
Is it also possible to use this same train of thought to try to copy & paste the
html inside a word document for preview?
Thanks in advance
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I was hoping to avoid using the xslt as these would have to be also installed on the clients machine, is there not a way of being able to do something like
dataTable.WriteXml("nameOf File",Writ eXmlMode.W riteSchema ); //this is with all my data
then open the xml file as follows
XmlDocument xmll = new XmlDocument("nameOfFile");
string tmp = xmll.ToHtml(); ???
Word.Document wdoc = new WordDocument();
wDoc.Paste(tmp);
...this is not accurate, just a quick explanation of what I would like to do...
Am I missing something about microsoft not providing enough of this type of functionality?
I am aware of using the xsl files to declare a format, but I have multi reports to display, and to have multi xsl files instead of using what I already have in code....
(i am using right now a foreach row in datatable which is pretty much the same as the xsl
<xsl:for-each select="table/row"> ...so I would not be really gaining anything
unless the time was well worth it programmatically speaking of course...
else I might as well just use what I have
dataTable.WriteXml("nameOf
then open the xml file as follows
XmlDocument xmll = new XmlDocument("nameOfFile");
string tmp = xmll.ToHtml(); ???
Word.Document wdoc = new WordDocument();
wDoc.Paste(tmp);
...this is not accurate, just a quick explanation of what I would like to do...
Am I missing something about microsoft not providing enough of this type of functionality?
I am aware of using the xsl files to declare a format, but I have multi reports to display, and to have multi xsl files instead of using what I already have in code....
(i am using right now a foreach row in datatable which is pretty much the same as the xsl
<xsl:for-each select="table/row"> ...so I would not be really gaining anything
unless the time was well worth it programmatically speaking of course...
else I might as well just use what I have
ASKER
I would just like to know what is faster, the treatment using the xml,xsl parser in c#
or actually just doing it programmatically in c# by going through each
column and inserting string tmp += "<TD>"+col+"</TD>" in a for loop
or actually just doing it programmatically in c# by going through each
column and inserting string tmp += "<TD>"+col+"</TD>" in a for loop
Using the XML/XSL parser is probably faster, although you could come pretty close to the performance if you use a string builder object instead of string += string + "string".
StringBuilder sb = new StringBuilder();
sb.Append("<TD>");
sb.Append(col);
sb.Append("</TD>");
In either case, you are talking about saving milliseconds. Not really all that impressive. I would encourage using XSLT because it is more extensible and it is quickly becoming the defacto standard.
ASKER
sounds ok to me, but I have one last concern, being that I am going to use xsl templates, then is there a way I could use these templates dynamically without having to create the files, sort of like build a string tmp = "xsl code goes here" and use the string to be parsed as xsl
on the fly.... xmll.Schemas.Add( new XmlSchema(tmp)); or something like this?
This way I would be able to create the schemas based on dynaimcally templated xsl formats...
and could change them per client needs...
please show me some code if possible, or links thanks...
on the fly.... xmll.Schemas.Add( new XmlSchema(tmp)); or something like this?
This way I would be able to create the schemas based on dynaimcally templated xsl formats...
and could change them per client needs...
please show me some code if possible, or links thanks...
Yes, you can... but that kind of defeats the point. I understand not wanting a ton of support files on your client machines, but the point of using XSL is to not have to re-code or compile your dlls everytime you want to make a minor change to the output.
http://www.csharphelp.com/archives/archive78.html