Click here to Skip to main content
15,897,187 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello!

I ran into a problem editing an existing XML file in a sharpoint documents library..
What I want to do is search for an xml file(based on its namem), and when its found, load it into an XmlDocument so it can be edited...
this is what I got so far... When I run this code, the file/item Im searching for is found(lets say test.xml), but the problem is I dont know how to load it into the xmldocument for editing...Or am I doing this the wrong way? :P

Thank you for your answers...

C#
public XmlDocument GetXMLDocument(string name)
{
    
    XmlDocument document = new XmlDocument();
    SPListItemCollection items = GetList(libraryName).Items;//gets the list

    foreach (SPItem item in items)
    {
        if (item.Name == name)
            document.Load(item); //I get lost here :)
    }
    
    return document;
}
Posted

1 solution

Ok so I think I found a solution, dont know if its the best but for now it servs our purpose... What this does is preaty straight forward.
I open the file as a binary array wich is loaded into a stream so it can be used in xmldocument.load method, to be procesed... If there is a better way of doing it, please tell me :)

C#
public XmlDocument GetXMLDocument(string name)
{
    XmlDocument document = new XmlDocument();
    SPWeb site = GetSite();

    string fileUrl = _url + libraryname + "/" + name;
    SPFile temp = site.GetFile(fileUrl);
    
    byte[] table = temp.OpenBinary();
    MemoryStream stream = new MemoryStream(table);

    document.Load(stream);
    //clear resources
    stream.Dispose();
    return document;
}
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900