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
|
(PowerShell) Traverse Direct Children via FirstChild / NextSibling, or LastChild / PreviousSiblingDemonstrates some ways to iterate over direct child nodes using the FirstChild / NextSibling and LastChild / PreviousSibling methods. The input XML, available at http://www.chilkatsoft.com/data/fruit.xml, is this:
<root>
<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>
</root>
Download: Chilkat .NET Assemblies [Reflection.Assembly]::LoadFile("C:\myAssemblies\ChilkatDotNet2.dll") $xml = New-Object Chilkat.Xml # The sample input XML is available at http://www.chilkatsoft.com/data/fruit.xml $success = $xml.LoadXmlFile("fruit.xml") if ($success -ne $true) { $($xml.LastErrorText) exit } # Iterate over the direct children by using FirstChild / NextSibling $child = $xml.FirstChild() while (!($child -eq $null )) { $($child.Tag + " : " + $child.Content) $nextSibling = $child.NextSibling() $child = $nextSibling } $("-----") # Do the same, but with FirstChild2 / NextSibling2 to avoid # creating so many XML object instances: $success = $xml.FirstChild2() while ($success -eq $true) { $($xml.Tag + " : " + $xml.Content) $success = $xml.NextSibling2() } # Revert back up to the parent: $xml.GetParent2() $("-----") # Iterate in reverse order using LastChild / PreviousSibling $child = $xml.LastChild() while (!($child -eq $null )) { $($child.Tag + " : " + $child.Content) $prevSibling = $child.PreviousSibling() $child = $prevSibling } $("-----") # Do the same, but with LastChild2 / PreviousSibling2 to avoid # creating so many XML object instances: $success = $xml.LastChild2() while ($success -eq $true) { $($xml.Tag + " : " + $xml.Content) $success = $xml.PreviousSibling2() } # Revert back up to the parent: $xml.GetParent2() |
© 2000-2011 Chilkat Software, Inc. All Rights Reserved.