Retrieving XML attribute is blank

Hello everyone,

I am trying to retrieve a particular attribute from an XML to determine if particular Red Hat systems are using the correct username to retrieve updates. I have researched online for the relevance and have modified it according to fit my needs or so I thought. When testing the relevance with the fixlet debugger I receive no errors but it does not return any data either. I am looking to get from the sample below “bfadm” My logic is:

q: node values of attributes of selects "/params/param/value/member/name/username" of xml document of file "C:\Users\jolugo\Documents\Test2.xml"

Here is a sample of the XML file in question.

<?xml version="1.0"?>
<params>
<param>
<value><struct>
<member>
<name>username</name>
<value><string>bfadm</string></value>
</member>
<member>
<name>operating_system</name>
<value><string>redhat-release-server</string></value>
</member>
<member>
<name>description</name>
<value><string>Initial Registration Parameters:
OS: redhat-release-server
Release: 6Server
CPU Arch: x86_64</string></value>
</member>
<member>
<name>checksum</name>
<value><string>aaca41414e61ad45f9a437a7c0f17cf1</string></value>
</member>
<member>
<name>profile_name</name>
<value><string>localhost.localdomain</string></value>
</member>
<member>
<name>system_id</name>
<value><string>ID-1036804873</string></value>
</member>
<member>
<name>architecture</name>
<value><string>x86_64</string></value>
</member>
<member>
<name>os_release</name>
<value><string>6Server</string></value>
</member>
<member>
<name>fields</name>
<value><array><data>
<value><string>system_id</string></value>
<value><string>os_release</string></value>
<value><string>operating_system</string></value>
<value><string>architecture</string></value>
<value><string>username</string></value>
<value><string>type</string></value>
</data></array></value>
</member>
<member>
<name>type</name>
<value><string>REAL</string></value>
</member>
</struct></value>
</param>
</params>

Any assistance would be a help. Thanks.

I think perhaps you left the <struct> node out of your selects statement…

Thanks for the reply. Hmm, I added the struct node to my select statement as so. Same result however.

node values of attributes of selects “/params/param/valuestruct/member/name/username”

Is this always the same structure? Then you need this:

Q: node value of child nodes 0 of selects "params/param/value/struct/member/value/string" of xml document of file "C:\temp\test.xml"
A: bfadm
E: Singular expression refers to non-unique object.

I do think the structure of your XML file is strange, but you probably have your reasons.

Edit:You can find more info on http://www.ibm.com/support/knowledgecenter/SS2TKN_9.5.0/com.ibm.bigfix.doc/Platform/Relevance/c_deconstructing_xml.html

Hi @steini44, sorry for the late reply. In the middle of a huge patching effort from the big wigs. The XML itself was not created by me but generated by Red Hat. I will let you know if I have any luck with your suggestions. Thanks again.