Consider the code below. The last attribute defined is name="c86". I can use Xml.Linq.XDocument.Parse to pull this into an XDocument (I call PersonRec) and access it using PersonRec.@c86. But what I'd really like to be able to do is pull the data using the rs:name='Preferred Name'. But obviously, PersonRec.@Preferred Name isn't going to work.
Options?
-------------------------------------
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly'>
<s:AttributeType name='CompanyID' rs:number='1' rs:writeunknown='true'>
<s:datatype dt:type='int' dt:maxLength='4' rs:precision='10' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='ResumeID' rs:number='2' rs:writeunknown='true'>
<s:datatype dt:type='int' dt:maxLength='4' rs:precision='10' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='Hired_ID' rs:number='3'>
<s:datatype dt:type='int' dt:maxLength='4' rs:precision='10' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='ResumeSource' rs:number='4' rs:nullable='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='FullName' rs:number='5' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='100'/>
</s:AttributeType>
<s:AttributeType name='FirstName' rs:number='6' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='100'/>
</s:AttributeType>
<s:AttributeType name='MiddleName' rs:number='7' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='25'/>
</s:AttributeType>
<s:AttributeType name='LastName' rs:number='8' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='100'/>
</s:AttributeType>
<s:AttributeType name='AddressLine1' rs:number='9' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='100'/>
</s:AttributeType>
<s:AttributeType name='AddressLine2' rs:number='10'>
<s:datatype dt:type='string' dt:maxLength='100' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='City' rs:number='11' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='50'/>
</s:AttributeType>
<s:AttributeType name='PostalCode' rs:number='12' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='50'/>
</s:AttributeType>
<s:AttributeType name='State' rs:number='13' rs:nullable='true'>
<s:datatype dt:type='string' dt:maxLength='100'/>
</s:AttributeType>
<s:AttributeType name='Country' rs:number='14' rs:nullable='true'>
<s:datatype dt:type='string' dt:maxLength='7'/>
</s:AttributeType>
<s:AttributeType name='HomePhone' rs:number='15' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='50'/>
</s:AttributeType>
<s:AttributeType name='WorkPhone' rs:number='16' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='75'/>
</s:AttributeType>
<s:AttributeType name='salary' rs:number='17' rs:writeunknown='true'>
<s:datatype dt:type='number' rs:dbtype='currency' dt:maxLength='8' rs:precision='19' rs:fixedlength='true'
rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='SalaryType' rs:number='18' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='25'/>
</s:AttributeType>
<s:AttributeType name='DateApplied' rs:number='19' rs:nullable='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='25'/>
</s:AttributeType>
<s:AttributeType name='DateHired' rs:number='20' rs:nullable='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='25'/>
</s:AttributeType>
<s:AttributeType name='StartDate' rs:number='21' rs:nullable='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='10'/>
</s:AttributeType>
<s:AttributeType name='EEOCJobCategory' rs:number='22' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='50' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='Gender' rs:number='23'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='12' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='ethnicity' rs:number='24'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='255' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='EEOCVetStatus' rs:number='25'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='255' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='EEOCDisposition' rs:number='26'>
<s:datatype dt:type='string' dt:maxLength='255' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='JobTitle' rs:number='27' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='255'/>
</s:AttributeType>
<s:AttributeType name='TrackingCode' rs:number='28' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='LocationName' rs:number='29' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='100'/>
</s:AttributeType>
<s:AttributeType name='LocationCode' rs:number='30' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='20'/>
</s:AttributeType>
<s:AttributeType name='department' rs:number='31' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='50'/>
</s:AttributeType>
<s:AttributeType name='depart_no' rs:number='32' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='20'/>
</s:AttributeType>
<s:AttributeType name='PreferredJobType' rs:number='33' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='int' dt:maxLength='4' rs:precision='10' rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='JobType' rs:number='34' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='20'/>
</s:AttributeType>
<s:AttributeType name='RelocationPreference' rs:number='35' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='255'/>
</s:AttributeType>
<s:AttributeType name='EmailAddress' rs:number='36' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='100'/>
</s:AttributeType>
<s:AttributeType name='DisabledFlag' rs:number='37' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='10'/>
</s:AttributeType>
<s:AttributeType name='SocialSecurityNumber' rs:number='38' rs:nullable='true'>
<s:datatype dt:type='string' dt:maxLength='255'/>
</s:AttributeType>
<s:AttributeType name='VisaType' rs:number='39' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='50'/>
</s:AttributeType>
<s:AttributeType name='RequesterFullName' rs:number='40' rs:nullable='true'>
<s:datatype dt:type='string' dt:maxLength='101'/>
</s:AttributeType>
<s:AttributeType name='JobOwnerFullName' rs:number='41' rs:nullable='true'>
<s:datatype dt:type='string' dt:maxLength='101'/>
</s:AttributeType>
<s:AttributeType name='c41' rs:name='Qualification Status' rs:number='42'>
<s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='31' rs:maybenull='false'/>
</s:AttributeType>
<s:AttributeType name='CallPay' rs:number='43' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='LunchCode' rs:number='44' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='Budgeted' rs:number='45' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='PositionTypeDetails' rs:number='46' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='Whypositionisopen' rs:number='47' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='Dateofnotice' rs:number='48' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='FTE' rs:number='49' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='c49' rs:name='Equipmentneeded?' rs:number='50' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='OshaCode' rs:number='51' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='Driving' rs:number='52' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='1073741823' rs:long='true'/>
</s:AttributeType>
<s:AttributeType name='RelocationAmount' rs:number='53' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='RelocationYearsCommitment' rs:number='54' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='SignOnBonusAmount' rs:number='55' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='SignOnBonusYearsCommitment' rs:number='56' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='StudentLoanRepaymentAmount' rs:number='57' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='StudentLoanRepaymentYearsCommitment' rs:number='58' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='c58' rs:name='LotusNotes?' rs:number='59' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='c59' rs:name='ManagerTraining?' rs:number='60' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='StaffMeetingRate' rs:number='61' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='CommissionRate' rs:number='62' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='PayPerVisitRate' rs:number='63' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='DOByyyymmdd' rs:number='64' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='Credentials' rs:number='65' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='NursingOrientationDateMMDDYYYY' rs:number='66' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='c66' rs:name='InternalEmployee?' rs:number='67' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='c67' rs:name='PreviousEmployee?' rs:number='68' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='EmployeeID' rs:number='69' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='LastDayofPreviousEmployment' rs:number='70' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='1073741823' rs:long='true'/>
</s:AttributeType>
<s:AttributeType name='LevelofEducation' rs:number='71' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='UniversityCollegeDegrees' rs:number='72' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='ProfessionalCertificates' rs:number='73' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='ThenameofthedepartmentinwhichcandidatewillworkRequired' rs:number='74' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='NumberofhourstobeworkedbiweeklyRequired' rs:number='75' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='Amountofsignonbonus' rs:number='76' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='Amountofrelocationallowance' rs:number='77' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='Optionforstudentloanrepayment' rs:number='78' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='c78' rs:name='#ofyearsofcommitmentforsignonbonus' rs:number='79' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='c79' rs:name='#ofyearsofcommitmentforrelocationbonus' rs:number='80' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='c80' rs:name='#ofyearsofcommitmentforstudentloanrepayment' rs:number='81' rs:nullable='true'
rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='YearsofExperience' rs:number='82' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='Asofmmddyyyy' rs:number='83' rs:nullable='true' rs:maydefer='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='1073741823' rs:long='true'/>
</s:AttributeType>
<s:AttributeType name='NotestoSpecialist' rs:number='84' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:AttributeType name='c84' rs:name='Template Code' rs:number='85' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='100'/>
</s:AttributeType>
<s:AttributeType name='c85' rs:name='Social Security #' rs:number='86' rs:nullable='true'>
<s:datatype dt:type='string' dt:maxLength='4'/>
</s:AttributeType>
<s:AttributeType name='c86' rs:name='Preferred Name' rs:number='87' rs:nullable='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='500'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row CompanyID="16103" ResumeID="7007636" Hired_ID="5844" ResumeSource="College/Campus Recruiting" FullName="John Wayne Doe" FirstName="John" MiddleName="Wayne" LastName="Doe" AddressLine1="1234 5th Street" AddressLine2="" City="Anywhere" PostalCode="98765" State="AL" Country="US" HomePhone="123-555-6789" WorkPhone="" salary="23.66" SalaryType="N/A" DateApplied="04/03/11 11:54:56 AM" DateHired="07/05/11 10:24:48 AM" StartDate="07/11/2011" EEOCJobCategory="Technicians" Gender="Unknown" ethnicity="Unknown" EEOCVetStatus="" EEOCDisposition="Hired/Selected" JobTitle="RN (.9 ER)" TrackingCode="20110594" LocationName="Uptown Campus" LocationCode="SE" department="EMERGENCY SERVICES" depart_no="17212" PreferredJobType="1" JobType="Full-Time/Regular" RelocationPreference="" EmailAddress="jd...@anywhere.com" SocialSecurityNumber="123456789" VisaType="" JobOwnerFullName="Nancy Nurse" c41="No Qualification Status Defined" CallPay="1" LunchCode="2" Budgeted="y" PositionTypeDetails="10" Whypositionisopen="" Dateofnotice="04/14/11" FTE=".9" c49="nneeded" OshaCode="1" Driving="1" c58="2" c59="2" DOByyyymmdd="19651109" Credentials="RN" NursingOrientationDateMMDDYYYY="07/07/2011" c66="2" c67="2" LevelofEducation="2 Year Degree" ThenameofthedepartmentinwhichcandidatewillworkRequired="Emergency Department" NumberofhourstobeworkedbiweeklyRequired="72" YearsofExperience="0" Asofmmddyyyy="20110705" NotestoSpecialist="" c84="0414055" c85="6789" c86="Duke" />
</rs:data>
</xml>