Используя TDom, я бы хотел просмотреть список объектов в следующем формате:
<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>
<object>
<type>Software</type>
<name>Second Object</name>
...
Затем я использую TDom, чтобы составить список объектов:
set dom [dom parse $xml]
set doc [$dom documentElement]
set nodeList [$doc selectNodes /systems/object]
До сих пор я делал это (теоретически), чтобы выбрать каждый узел "Объект" из списка. Как я могу пройти через них? Это просто:
foreach node $nodeList {
Для каждого объекта мне нужно получить связь каждого атрибута. Из примера мне нужно помнить, что «name» - это «System Name», «vendor» - «Dell» и т. Д.
Я новичок в TCL, но на других языках я бы использовал объект или ассоциативный список для их хранения. Это возможно? Можете ли вы показать мне пример синтаксиса для выбора атрибута таким образом?