How to Store data without using Database and how to retrieve them?

前端 未结 8 933
小鲜肉
小鲜肉 2020-12-11 08:10

I am parsing the html file to extract tabular information through column names. And I want like let user give the input for column name. And according to that column names t

8条回答
  •  没有蜡笔的小新
    2020-12-11 08:53

    Lots of people have been talking about XML, it's a good idea. However, if Linq is available for you, you shoudl really consider using Linq to XML instead of SAX/DOM parsing.

    Linq to XML makes it easier to parse, create and edit XML file compared to SAX and DOM parser. Using SAX/DOM parsing usually requires a lot of loops to get to the correct element or to navigate trough the nodes.

    Example taken from MSDN :
    Using DOM Parsing :

    XmlDocument doc = new XmlDocument();
    XmlElement name = doc.CreateElement("Name");
    name.InnerText = "Patrick Hines";
    XmlElement phone1 = doc.CreateElement("Phone");
    phone1.SetAttribute("Type", "Home");
    phone1.InnerText = "206-555-0144";        
    XmlElement phone2 = doc.CreateElement("Phone");
    phone2.SetAttribute("Type", "Work");
    phone2.InnerText = "425-555-0145";        
    XmlElement street1 = doc.CreateElement("Street1");        
    street1.InnerText = "123 Main St";
    XmlElement city = doc.CreateElement("City");
    city.InnerText = "Mercer Island";
    XmlElement state = doc.CreateElement("State");
    state.InnerText = "WA";
    XmlElement postal = doc.CreateElement("Postal");
    postal.InnerText = "68042";
    XmlElement address = doc.CreateElement("Address");
    address.AppendChild(street1);
    address.AppendChild(city);
    address.AppendChild(state);
    address.AppendChild(postal);
    XmlElement contact = doc.CreateElement("Contact");
    contact.AppendChild(name);
    contact.AppendChild(phone1);
    contact.AppendChild(phone2);
    contact.AppendChild(address);
    XmlElement contacts = doc.CreateElement("Contacts");
    contacts.AppendChild(contact);
    doc.AppendChild(contacts);
    

    Using Linq to XML :

    XElement contacts =
        new XElement("Contacts",
            new XElement("Contact",
                new XElement("Name", "Patrick Hines"),
                new XElement("Phone", "206-555-0144", 
                    new XAttribute("Type", "Home")),
                new XElement("phone", "425-555-0145",
                    new XAttribute("Type", "Work")),
                new XElement("Address",
                    new XElement("Street1", "123 Main St"),
                    new XElement("City", "Mercer Island"),
                    new XElement("State", "WA"),
                    new XElement("Postal", "68042")
                )
            )
        );
    

    Easier to do and much more clear.

    Edit:
    Save the XML tree to contacts.xml :

    // using the code above
    contact.Save("contacts.xml");
    

    Load the contacts.xml file :

    //using the code above
    XDocument contactDoc = XDocument.Load("contacts.xml"); 
    

    To update an element of the tree there is a few functions in the doc that can do it depending on what you want to do

提交回复
热议问题