Windows Vista Forums

How do I read a XML file into a hash table?

  1. #1


    wangxiaohu Guest

    How do I read a XML file into a hash table?

    Examples needed.

    Thanks!

      My System SpecsSystem Spec

  2.   


  3. #2


    dreeschkind Guest

    RE: How do I read a XML file into a hash table?

    Just a quick hack:

    PS>
    "<hash><entry><key>foo</key><value>1</value></entry><entry><key>bar</key><value>2</value></entry></hash>" | out-file hashXML.txt
    PS> $hashXML = [xml] (get-content hashXML.txt)
    PS> $hashXML.hash.entry | % { $hash = @{} } { $hash += @{$_.key = $_.value} }
    PS> $hash

    Name Value
    ---- -----
    bar 2
    foo 1

    --
    greetings
    dreeschkind

    "wangxiaohu" wrote:

    > Examples needed.
    >
    > Thanks!


      My System SpecsSystem Spec

  4. #3


    Keith Hill [MVP] Guest

    Re: How do I read a XML file into a hash table?

    "wangxiaohu" <wangxiaohu@discussions.microsoft.com> wrote in message
    newsAC2BF59-B9C8-404E-AAEC-04FA61428085@microsoft.com...
    > Examples needed.


    Unless every element name is unique i.e. maxOccurs is never more than 1, I
    don't see how this would be helpful? Hashtables perform fast lookups based
    off of a unique key, if the key isn't unique then a hashtable is a good fit.
    Did you know that if you just convert a string to [xml] you get a full
    System.Xml.XmlDocument object? For example:

    PS> $xml =
    [xml]"<doc><element1>Foo</element1><element1>Bar</element1></doc>"
    PS> $xml.doc

    element1
    --------
    {Foo, Bar}

    PS> $xml.doc.element1[0]
    Foo

    PS>$xml.GetElementsByTagName("element1")

    #text
    -----
    Foo
    Bar

    Or you could use XPath expressions:

    PS>$xml.SelectNodes("//element1")

    #text
    -----
    Foo
    Bar

    --
    Keith



      My System SpecsSystem Spec

  5. #4


    Keith Hill [MVP] Guest

    Re: How do I read a XML file into a hash table?

    "Keith Hill [MVP]" <r_keith_hill@mailhot.moc.nospam> wrote in message
    news:%235xu8ia8GHA.2120@TK2MSFTNGP03.phx.gbl...
    > "wangxiaohu" <wangxiaohu@discussions.microsoft.com> wrote in message
    > newsAC2BF59-B9C8-404E-AAEC-04FA61428085@microsoft.com...
    >> Examples needed.

    >
    > Unless every element name is unique i.e. maxOccurs is never more than 1, I
    > don't see how this would be helpful? Hashtables perform fast lookups
    > based off of a unique key, if the key isn't unique then a hashtable is a
    > good fit.


    Doh! That should be "if the key isn't unique then a hashtable is *not* a
    good fit".

    --
    Keith



      My System SpecsSystem Spec


How do I read a XML file into a hash table?
Similar Threads
Thread Forum
Sorting a Hash Table before outputting it to html PowerShell
How to create a hash table from an array PowerShell
Adding data to a hash table PowerShell
Passing hash table by reference PowerShell
Variable as hash table issue PowerShell