Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
(Visual Basic) XML SearchForTag MethodDemonstrates the SearchForTag and SearchForTag2 methods. The input XML, available at http://www.chilkatsoft.com/data/fruitSearch.xml, is this:
<root>
<searchRoot>
<fruit color="red">apple</fruit>
<fruit color="green">pear</fruit>
<veg color="orange">carrot</veg>
<meat animal="cow">beef</meat>
<xyz>
<fruit color="blue">blueberry</fruit>
<veg color="green">broccoli</veg>
</xyz>
<fruit color="purple">grape</fruit>
<cheese color="yellow">cheddar</cheese>
</searchRoot>
<fruit color="red">strawberry</fruit>
<fruit color="orange">peach</fruit>
<root></root>
</root>
Dim xml As New ChilkatXml Dim xSearchRoot As ChilkatXml Dim xBeginAfter As ChilkatXml Dim xFound As ChilkatXml Dim success As Long ' The sample input XML is available at http://www.chilkatsoft.com/data/fruitSearch.xml success = xml.LoadXmlFile("fruitSearch.xml") If (success <> 1) Then Text1.Text = Text1.Text & xml.LastErrorText & vbCrLf Exit Sub End If ' Search the sub-tree rooted at "searchRoot" Set xSearchRoot = xml.FindChild("searchRoot") ' Search for all nodes having the tag "fruit" Set xBeginAfter = Nothing Set xFound = xSearchRoot.SearchForTag(xBeginAfter,"fruit") Do While Not (xFound Is Nothing ) Text1.Text = Text1.Text & xFound.Content & vbCrLf Set xBeginAfter = xFound Set xFound = xSearchRoot.SearchForTag(xBeginAfter,"fruit") Loop Text1.Text = Text1.Text & "--------------------------" & vbCrLf ' --------------------------------------------------------------------------------- ' Now do the same, but instead use SearchForTag2 ' which updates the internal reference of the caller instead ' of returning the found node. Dim xSearch As ChilkatXml Set xBeginAfter = xSearchRoot.GetSelf() Set xSearch = xSearchRoot.GetSelf() success = xSearch.SearchForTag2(xBeginAfter,"fruit") Do While success = 1 Text1.Text = Text1.Text & xSearch.Content & vbCrLf ' Copy the internal references so that the next search ' begins after the found node. xBeginAfter.CopyRef xSearch xSearch.CopyRef xSearchRoot success = xSearch.SearchForTag2(xBeginAfter,"fruit") Loop |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.