XDocument Exclusive Access

  • Thread starter Thread starter Tom
  • Start date Start date
T

Tom

I can successfully do the following:

xdocument doc = xdocument.load(... my file);
xelement bla = doc.descendants.("it").first();
.... do stuff ...
doc.save("myfile");

the above works great. however, i want to interact with the file with
exclusive access so that no other files can open it/write to it/etc. while
i'm doing stuff with it.

i know that there's the normal FileStream.open (etc., fileshare.none), but
the xdocument class doesn't take a stream as a constructor.

is there any way i can do this without having to use the xmldocument class?

Thanks.
 
thanks alex,

that seems like the right idea, but it didn't seem to work. i get the
following exception:
"non white space characters cannot be added to content"

it looks like the constructor for the xdocument class can only take any of
the following:
1. nothing (e.g. - xdocument())
2. params object[] content
3. xdocument other
4. xdeclaration declaration, params object[] content

so i think when i try to use your example below, my guess is that it's
trying to add the new xmltextreader as content. any other ideas? i'll keep
playing with this one though.

thanks again.
-- tom


Alex Meleta said:
Hi Tom,

For example like this XDocument.Load(new XmlTextReader(new FileStream
.....

ps. mind 'using' statement

Regards, Alex Meleta
[TechBlog] http://devkids.blogspot.com
I can successfully do the following:

xdocument doc = xdocument.load(... my file);
xelement bla = doc.descendants.("it").first();
... do stuff ...
doc.save("myfile");
the above works great. however, i want to interact with the file with
exclusive access so that no other files can open it/write to it/etc.
while i'm doing stuff with it.

i know that there's the normal FileStream.open (etc., fileshare.none),
but the xdocument class doesn't take a stream as a constructor.

is there any way i can do this without having to use the xmldocument
class?
 
thanks alex. this actually worked like a charm. it's early, and i'm not
awake yet.


Alex Meleta said:
Hi Tom,

For example like this XDocument.Load(new XmlTextReader(new FileStream
.....

ps. mind 'using' statement

Regards, Alex Meleta
[TechBlog] http://devkids.blogspot.com
I can successfully do the following:

xdocument doc = xdocument.load(... my file);
xelement bla = doc.descendants.("it").first();
... do stuff ...
doc.save("myfile");
the above works great. however, i want to interact with the file with
exclusive access so that no other files can open it/write to it/etc.
while i'm doing stuff with it.

i know that there's the normal FileStream.open (etc., fileshare.none),
but the xdocument class doesn't take a stream as a constructor.

is there any way i can do this without having to use the xmldocument
class?
 
Back
Top