Click here to Skip to main content
12,949,826 members (69,851 online)
Rate this:
Please Sign up or sign in to vote.
See more:

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...

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 4-Jul-12 3:01am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

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 :)

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);
    //clear resources
    return document;

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

    Print Answers RSS
Top Experts
Last 24hrsThis month
OriginalGriff 5,749
CHill60 3,380
Maciej Los 2,953
Jochen Arndt 1,935
ppolymorphe 1,820

Advertise | Privacy | Mobile
Web02 | 2.8.170524.1 | Last Updated 5 Jul 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100