|
bobsugar222 wrote: (There's a bug in the pre tag... it doesn't like generics in examples!)
That's because it doesn't html encode the text, so the browser thinks that it is a broken html tag and ignores it.
You can use < and > to display the < and > characters.
---
Year happy = new Year(2007);
|
|
|
|
|
Sorted. Cheers
|
|
|
|
|
Thank you for your answers. The reason i work with text files is that this is my first "real" c# project, and i'm not very skilled in using it. Was mainly playing around trying to find a way to solve my problems. Found a number of problems with it though so thinking of using access database instead.
If you could add some comments to the above code example i'd be grateful, dont really understand every part of it.
Thanks
--
Light is faster than sound... Thats why some people look smart till they start to talk.
|
|
|
|
|
does someone know how to add sheet into a workbook
if i am writing in C#?
|
|
|
|
|
You'll want to look into the Office PIAs[^] to do that. The documentation that comes with it should help.
|
|
|
|
|
This is my first time into generating an XML file via a C# windows form.
Here are the specifics:
1) I need to use an existing datatable with rows and columns and export these to an XML file (I know I can use WriteXML), however there is a schema file that is to be used to generate the XML exported file.
Any help is greatly appreciated, as I've searched the web for such a solution, but have come up empty.
Thanks !
|
|
|
|
|
Unfortunately, The DataTable.WriteXml method uses the schema of the current DataTable object.
I would probably approach this by creating my own serializable class that you can feed the DataTable in to the constructor as a parameter. Depending on how OO I want to be I may add an XmlSchema object as an overload. You'd then have to do all the parsing of the DataTable to your schema manually.
|
|
|
|
|
Any snippet code that you can provide ?
|
|
|
|
|
if you have a fixed (read typed) DataTable schema and a fixed XML schema then it would be a matter of parsing your dataTable into an xmlDocument with your xmlSchema. Something like this:
public static void WriteMyDataTableToXml(MyTypedDataTable dataTable, string filename)
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Save(filename);
}
If the table and schema are variable in structure then that's a little more complicated.
|
|
|
|
|
If you're using .NET 2.0, I'd just add to that:
xmlDocument.Schemas.Add("",schemaFilename);
//load xmlDocument here
xmlDocument.Validate(validationHandler);
//save the document
|
|
|
|
|
I wonder if this logic would work:
1) Write datatable out to an XML file without a schema
2) Read back in the XML file and validate it against the known schema and if it passes leave the XML file, else delete the XML file and give the user a message that the schema does not match the data in the datatable.
|
|
|
|
|
Why not do this in memory? i.e. Why save the possibly invalid file to begin with?
|
|
|
|
|
I'm not sure how to do it in memory.
Also, if it does turn out to be valid, I need to create the XML file.
|
|
|
|
|
In memory just means writing the XML to a string variable. How you do it depends on your current method of generating the XML and saving it to a file.
//e.g. with XmlTextWriter
XmlTextWriter xmlTextWriter = new XmlTextWriter(fileName, encoding);
//saves to a file.
StringBuilder sb = new StringBuilder()
XmlTextWriter xmlTextWriter = new XmlTextWriter(new StringWriter(sb));
//allows you to save to a string.
string myString = sb.ToString();
//Use:
xmlDocument.LoadXml(myString);
//before validating and saving the XmlDocument
Good Luck!
|
|
|
|
|
I can't help but wonder what the purpose of the schema would be. All you'd be doing there is validating that the DataTable you've just written to xml is in the schema of the datatable, which it would be every time.
What exactly are you trying to achieve here?
|
|
|
|
|
The schema would be used to generate the XML for input to another application.
|
|
|
|
|
I got 2 abstract classes that look somewhat like this:
<code> public abstract class vBase
{
public abstract int ID { get; set; }
public abstract string Group { get; }
}
public abstract class ListVBase
{
public abstract List<vBase> Items;
public abstract int Count {get;}
public abstract void Fill();
}</code>
However it is not possible to make an abstract list like that (the bold part). Anybody got an good idea for a work around? (what i need is an abstract class which hold a collection of vBase).
/Jan
|
|
|
|
|
Your vBase class is entirely abstract, so why not make it an interface? Then you could do this:
public interface vBase
{
int ID{ get; set; }
string Group { get ; }
}
public abstract class ListVBase<T> where T : vBase
{
public abstract List<T> Items;
public abstract int Count { get ; }
public abstract void Fill();
}
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
I'm working on an existing system which operates on large XML files, but the areas of interest at any given point are relatively small.
So i've begun moving the small regions across to an object model, which i will serialize into / out of the existing XML document in the appropriate places in fragments.
My problem is, the XMLSerializer generates the XMLFile Declaration and NameSpace attributes in the root element, which makes the end result a complete XML Document, as opposed to a fragment that is part of a larger doc.
Is there any way to avoid the generation / requirement of the XML Serialization attributes so that it is actualy a Fragment?
Cheers
Tris
|
|
|
|
|
When you write from the XmlSerializer, you can use an XmlWriter (as a TextWriter). Use the static Create method off of XmlWriter to make a writer that has XmlWriterSettings. Using the settings, you can tell it to not put the declarations.
|
|
|
|
|
Thanks Dustin, that's just the ticket.
One last thing - is it possible to remove the xmlns:xsi and xmlns:xsd attributes using settings?
I've had a play around, but they are staying put.
Cheers
Tris
|
|
|
|
|
That one's a bit tougher. Are you using namespaces in the attributes on the type?
|
|
|
|
|
I finally got to a dev environment where I could test it. There really isn't a way to wipe those attributes off of there, which I think is a very frustrating part of using XmlSerializer. Some of the tactics I've taken in the past are to implement IXmlSerializable (which isn't fun because you have to read and write from the xml stream yourself) or to load the serialized xml into an XmlDocument and remove the namespaces manually. I'm not sure if MVPXML[^] has done anything to handle this but you may want to check it out.
|
|
|
|
|
Hi All,
Please help..
How to delete a row from Datagrid in CodeBehind ??
Thanks in advance..
|
|
|
|
|
You don't delete it from the datagrid. Delete it from your datasource.
only two letters away from being an asset
|
|
|
|