xmlparsingtcl

Convert XML to TCL Object


Greetings,

I'm new to TCL scripting, and I have a very very basic xml file which I need to import information from into tcl.

Example of XML Document Structure:

<object>
  <type>Hardware</type>
  <name>System Name</name>
  <description>Basic Description of System.</description>
  <attributes>
      <vendor>Dell</vendor>
      <contract>MM/DD/YY</contract>
      <supportExpiration>MM/DD/YY</supportExpiration>
      <location>Building 123</location>
      <serial>xxx-xxx-xxxx</serial>
      <mac>some-mac-address</mac>
  </attributes>
</object>

Etc...

I've seen something called TCLXML but I'm not sure if this is the best route or even how to create the package to use it..

Any help will be greatly appreciated.


Solution

  • I can recommend using the tdom package for XML parsing, particularly as it includes good integration with XPath so extracting things from the data is easy. It's also pretty fast.

    If you're using ActiveTcl, then it's already part of it (though you might need to do a teacup update to bring it in from the repository).