XDocument Exclusive Access

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Tom

    #1

    XDocument Exclusive Access

    I can successfully do the following:

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

    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 Meleta

    #2
    Re: XDocument Exclusive Access

    Hi Tom,

    For example like this XDocument.Load( new XmlTextReader(n ew 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("myfil e");
    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?

    Comment

    • Tom

      #3
      Re: XDocument Exclusive Access

      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" <ameleta@gmail. comwrote in message
      news:df84a49fd0 ce8caf69c4256c5 90@news.microso ft.com...
      Hi Tom,
      >
      For example like this XDocument.Load( new XmlTextReader(n ew 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("myfi le");
      >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?
      >
      >

      Comment

      • Tom

        #4
        Re: XDocument Exclusive Access

        thanks alex. this actually worked like a charm. it's early, and i'm not
        awake yet.


        "Alex Meleta" <ameleta@gmail. comwrote in message
        news:df84a49fd0 ce8caf69c4256c5 90@news.microso ft.com...
        Hi Tom,
        >
        For example like this XDocument.Load( new XmlTextReader(n ew 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("myfi le");
        >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?
        >
        >

        Comment

        Working...