var elementsList:XML=<nodes>
<node id="d">
  <node id="d1">
  <node id="hello">
  </node>
 </node>
</node>
</nodes>;

elementsList..node.(@id=="hello") // Fails with the error

On Mon, Apr 18, 2016 at 3:51 PM Harbs <[email protected]> wrote:

> Please post some more complete code.
>
> On Apr 18, 2016, at 11:33 PM, mark goldin <[email protected]> wrote:
>
> > This command:
> > elementsList.node.(@id=="hello") fails with the error.
> >
> > On Mon, Apr 18, 2016 at 3:29 PM OmPrakash Muppirala <
> [email protected]>
> > wrote:
> >
> >> XML..Boos.(attribute(@ID == 298)
> >>
> >> should be:
> >>
> >> XML..Books.(attribute(@ID == '298')
> >>
> >> If you give a simple example, we can figure this out quickly.  This is
> >> pretty basic stuff.
> >>
> >> On Mon, Apr 18, 2016 at 1:25 PM, mark goldin <[email protected]>
> >> wrote:
> >>
> >>> Yes, that's what I am trying:
> >>> XML..Boos.(attribute(@ID == 298) // fails with No such variable: @ID
> >>> XML..Boos.(attribute("ID") == 298) // doesn't fail, returns empty.
> >>>
> >>> On Mon, Apr 18, 2016 at 3:23 PM OmPrakash Muppirala <
> >> [email protected]>
> >>> wrote:
> >>>
> >>>> On Mon, Apr 18, 2016 at 12:02 PM, mark goldin <[email protected]>
> >>>> wrote:
> >>>>
> >>>>> No such variable: @ID
> >>>>>
> >>>>
> >>>> That is the notation to reference an attribute.   If you have an
> >>> attribute
> >>>> called ID, you need to use @ID in your search expression.
> >>>>
> >>>>
> >>>>>
> >>>>> On Mon, Apr 18, 2016 at 2:00 PM mark goldin <[email protected]>
> >>>> wrote:
> >>>>>
> >>>>>> I am also trying this:
> >>>>>>
> >>>>>> var elementsList:XML=<nodes>
> >>>>>> <node id="d">
> >>>>>>   <node id="hello"/>
> >>>>>>   <node id="d1">
> >>>>>>   <node id="hello">
> >>>>>>   </node>
> >>>>>>  </node>
> >>>>>> </node></nodes>;
> >>>>>>
> >>>>>> var xl:XMLList=elementsList..*.(@id=="hello");
> >>>>>>
> >>>>>> I am getting an error:
> >>>>>>
> >>>>>> No such variable @id
> >>>>>>
> >>>>>>
> >>>>>> On Mon, Apr 18, 2016 at 1:55 PM mark goldin <[email protected]
> >>>
> >>>>> wrote:
> >>>>>>
> >>>>>>> I am trying and it's not returning anything
> >>>>>>>
> >>>>>>>
> >>>>>>> On Mon, Apr 18, 2016 at 1:40 PM mark goldin <
> >> [email protected]>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> I was thinking about something like this:
> >>>>>>>> _myListXML.Books.(attribute('ID') == '298')
> >>>>>>>>
> >>>>>>>> Which should give me:
> >>>>>>>> <Books ID="298">
> >>>>>>>>   <book/>
> >>>>>>>>   .....
> >>>>>>>> <Books/>
> >>>>>>>>
> >>>>>>>> That way I can get either all books as you are showing or just a
> >>>> given
> >>>>>>>> books id.
> >>>>>>>> Is that possible?
> >>>>>>>>
> >>>>>>>> On Mon, Apr 18, 2016 at 12:50 PM Harbs <[email protected]>
> >>>> wrote:
> >>>>>>>>
> >>>>>>>>> var myXMLList:XMLList = myXml..Book;
> >>>>>>>>>
> >>>>>>>>> On Apr 18, 2016, at 7:50 PM, mark goldin <[email protected]
> >>>
> >>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>> var myXml:XML =
> >>>>>>>>>> <parent>
> >>>>>>>>>>   <Books>
> >>>>>>>>>>       <Book name="something1" />
> >>>>>>>>>>                 <Books>
> >>>>>>>>>>                            <Book name="something1" />
> >>>>>>>>>>                            <someotherelements/>
> >>>>>>>>>>                           <Book name="something2" />
> >>>>>>>>>>                          <Book name="something3" />
> >>>>>>>>>>                </Books>
> >>>>>>>>>>       <Book name="something2" />
> >>>>>>>>>>       <Book name="something3" />
> >>>>>>>>>>       <someotherelements/>
> >>>>>>>>>>   </Books>
> >>>>>>>>>>   <someotherelements/>
> >>>>>>>>>> </parent>;
> >>>>>>>>>>
> >>>>>>>>>> My point is that <Book> element can be at any level and as
> >> deep.
> >>>> And
> >>>>>>>>> it is
> >>>>>>>>>> an element.
> >>>>>>>>>>
> >>>>>>>>>> On Mon, Apr 18, 2016 at 11:46 AM Alex Harui <[email protected]
> >>>
> >>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Show some example XML.  It matters if Book is an element or
> >>>>>>>>> attribute.
> >>>>>>>>>>>
> >>>>>>>>>>> -Alex
> >>>>>>>>>>>
> >>>>>>>>>>> On 4/18/16, 9:36 AM, "mark goldin" <[email protected]>
> >>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>> No, not exactly. I want to say: for all elements that have a
> >>>> name
> >>>>>>>>> 'Book'
> >>>>>>>>>>>> at
> >>>>>>>>>>>> any level give me its someproperty value.
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Mon, Apr 18, 2016 at 11:32 AM Kessler CTR Mark J <
> >>>>>>>>>>>> [email protected]> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> You mean like using dot notation and walking down the nodes
> >>> or
> >>>>>>>>>>>>> filtering?
> >>>>>>>>>>>>> I use somethings similar with some e4x /
> >>> xmllistcollections.  I
> >>>>>>>>> just
> >>>>>>>>>>>>> typed
> >>>>>>>>>>>>> this off the top of my head so it might need to be checked.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> var myXml:XML =
> >>>>>>>>>>>>> <parent>
> >>>>>>>>>>>>>   <Books>
> >>>>>>>>>>>>>       <Book name="something1" />
> >>>>>>>>>>>>>       <Book name="something2" />
> >>>>>>>>>>>>>       <Book name="something3" />
> >>>>>>>>>>>>>   </Books>
> >>>>>>>>>>>>>   <Magazines>
> >>>>>>>>>>>>>       <Magazine someproperty="item1" />
> >>>>>>>>>>>>>       <Magazine someproperty="item1" />
> >>>>>>>>>>>>>       <Magazine someproperty="item2" />
> >>>>>>>>>>>>>       <Magazine someproperty="item2" />
> >>>>>>>>>>>>>   </Magazines>
> >>>>>>>>>>>>> </parent>;
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> List of books:
> >>>>>>>>>>>>> myXml.Books.Book;
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> List of magazines:
> >>>>>>>>>>>>> myXml.Magazines.Magazine;
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Match specific items (returns 2 item1 rows):
> >>>>>>>>>>>>> myXml.Magazines.Magazine.(@ someproperty == "item1");
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> -Mark
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> -----Original Message-----
> >>>>>>>>>>>>> From: mark goldin [mailto:[email protected]]
> >>>>>>>>>>>>> Sent: Monday, April 18, 2016 12:02 PM
> >>>>>>>>>>>>> To: users
> >>>>>>>>>>>>> Subject: [Non-DoD Source] Filtering XML doc
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I have a nested XML and I want to select only these
> >> elements
> >>>> from
> >>>>>>>>> it
> >>>>>>>>>>>>> that
> >>>>>>>>>>>>> have a specific name at any level.
> >>>>>>>>>>>>> How can I do that?
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Thanks
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>>
> >>>
> >>
>
>

Reply via email to