XPath with ADO XML

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

    #1

    XPath with ADO XML

    All,

    I am tearing my hair out on this one. I've checked Google and the
    newsgroups, and can't seem to solve it...

    My problem:

    I have an XML document that I pass to another function with an XPath
    query (note I may be using the wrong terminology - I don't use XML very
    often). The function then uses that XPath query with SelectSingleNod e
    to get some details out of the XML document (effectively an ID for the
    document).

    My document is an XML representation of an ADO recordset. The query is
    trying to get the FPTAdviserID out of it. Note that I have to use
    SelectSingleNod e (or more accurately, the code I am calling uses it for
    tons of other XML files, so I don't want to fiddle with it
    unnecessarily).

    Code I have tried includes stuff like:

    Dim x As New XmlDocument()

    x.Load("d:\curr ent\bin\Adviser .XML")


    MsgBox(x.Select SingleNode("\\x ml\rs:data\z:ro w\@FPTAdviserID ").Value)

    MsgBox(x.Select SingleNode("xml \rs:data\z:row\ @FPTAdviserID") .Value)
    MsgBox(x.Select SingleNode("\\x ml\rs:data\z:ro w").Value)
    MsgBox(x.Select SingleNode("xml \rs\z").Value)
    MsgBox(x.Select SingleNode("xml \data\row").Val ue)

    MsgBox(x.Docume ntElement.Selec tSingleNode("rs :data\z:row").V alue)

    MsgBox(x.Docume ntElement.Selec tSingleNode("rs :data\z:row").V alue)

    It just doesn't seem to like the 'rs:data' thing. There is stuff on
    Google about namespaces for XML DOMs, but all the tips seem to relate
    to the COM XML components, and I can't find matching suggestions for
    VB.NET.

    Can anyone provide the correct parameters for SelectSingleNod e (note
    again that I need to use SelectSingleNod e)?

    My XML is as follows:


    <xml xmlns:s='uuid:B DC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
    xmlns:dt='uuid: C2F41010-65B3-11d1-A29F-00AA00C14882'
    xmlns:rs='urn:s chemas-microsoft-com:rowset'
    xmlns:z='#Rowse tSchema'>
    <s:Schema id='RowsetSchem a'>
    <s:ElementTyp e name='row' content='eltOnl y' rs:updatable='t rue'>
    <s:AttributeTyp e name='ABN' rs:number='1' rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' AdviserID' rs:autoincremen t='true'>
    <s:datatype dt:type='string ' dt:maxLength='1 1'/>
    </s:AttributeType >
    <s:AttributeTyp e name='Address1' rs:number='2'
    rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' SaveDateTime'>
    <s:datatype dt:type='string ' dt:maxLength='6 0'/>
    </s:AttributeType >
    <s:AttributeTyp e name='Address2' rs:number='3'
    rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' Company'>
    <s:datatype dt:type='string ' dt:maxLength='6 0'/>
    </s:AttributeType >
    <s:AttributeTyp e name='Address3' rs:number='4'
    rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' Address1'>
    <s:datatype dt:type='string ' dt:maxLength='6 0'/>
    </s:AttributeType >
    <s:AttributeTyp e name='AdviserID ' rs:number='5'
    rs:maydefer='tr ue'
    rs:writeunknown ='true' rs:basetable='A dvisers'
    rs:basecolumn=' Address2'>
    <s:datatype dt:type='int' dt:maxLength='4 '
    rs:precision='1 0'
    rs:fixedlength= 'true'/>
    </s:AttributeType >
    <s:AttributeTyp e name='Company' rs:number='6'
    rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' Address3'>
    <s:datatype dt:type='string ' dt:maxLength='5 0'/>
    </s:AttributeType >
    <s:AttributeTyp e name='Email' rs:number='7'
    rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' Suburb'>
    <s:datatype dt:type='string ' dt:maxLength='1 00'/>
    </s:AttributeType >
    <s:AttributeTyp e name='Fax' rs:number='8' rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' State'>
    <s:datatype dt:type='string ' dt:maxLength='2 5'/>
    </s:AttributeType >
    <s:AttributeTyp e name='FPTAdvise rID' rs:number='9'
    rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' Postcode'>
    <s:datatype dt:type='string ' dt:maxLength='2 0'/>
    </s:AttributeType >
    <s:AttributeTyp e name='Phone' rs:number='10'
    rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' Phone'>
    <s:datatype dt:type='string ' dt:maxLength='2 5'/>
    </s:AttributeType >
    <s:AttributeTyp e name='Postcode' rs:number='11'
    rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' Fax'>
    <s:datatype dt:type='string ' dt:maxLength='4 '/>
    </s:AttributeType >
    <s:AttributeTyp e name='SaveDateT ime' rs:number='12'
    rs:nullable='tr ue' rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers' rs:basecolumn=' Email'>
    <s:datatype dt:type='dateTi me' rs:dbtype='vari antdate'
    dt:maxLength='1 6' rs:fixedlength= 'true'/>
    </s:AttributeType >
    <s:AttributeTyp e name='State' rs:number='13'
    rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' ABN'>
    <s:datatype dt:type='string ' dt:maxLength='3 '/>
    </s:AttributeType >
    <s:AttributeTyp e name='Suburb' rs:number='14'
    rs:nullable='tr ue'
    rs:maydefer='tr ue' rs:write='true'
    rs:basetable='A dvisers'
    rs:basecolumn=' FPTAdviserID'>
    <s:datatype dt:type='string ' dt:maxLength='2 0'/>
    </s:AttributeType >
    <s:extends type='rs:rowbas e'/>
    </s:ElementType>
    </s:Schema>
    <rs:data>
    <z:row ABN='1234987' Address1='' Address2='asdas d' Address3=''
    AdviserID='2' Company='Da;lk' Email='' Fax=''
    FPTAdviserID='1 000100000001'
    Phone='' Postcode='' SaveDateTime='2 005-10-17T16:45:59'
    State='' Suburb=''/>
    </rs:data>
    </xml>

    Thanks
    Matthew

  • Cor Ligthert [MVP]

    #2
    Re: XPath with ADO XML

    MJwills,

    Feel free to post to this newsgroup, however I see *seldom* answers in depth
    about XPath in this newsgroup. In your case I would ask it in at least as
    well in a more XML *document* related newsgroup.

    If I process a XML document (not a dataset) in VBNet I have used in past the
    document load, however now I would probably use the xmlreader/xmltextreader.

    http://msdn.microsoft.com/library/de...classtopic.asp

    This one would be my choise the xmltextreader

    http://msdn.microsoft.com/library/de...classtopic.asp

    I hope this helps,

    Cor


    Comment

    Working...