I'm trying to retrieve the display name (Owner node in the XML below) of an item selected in an InfoPath dropdown list to use to populate in a separate text box. Below is the code I'm attempting to use.
While running the code I'm getting the error "Expression must evaluate to a node-set." Any help would be appreciated, or if there is a better way to get the display name (Owner field).
-----------------------------------
XPathNavigator _xnDoc = MainDataSource.CreateNavigator();
XPathNodeIterator iter = _xnDoc.Select("/my:myFields/my:Document/my:Assigned_Entity",
NamespaceManager);
System.Text.StringBuilder sb = new System.Text.StringBuilder();
string value = iter.Current.Value;
XPathNavigator secDS = DataSources["OwnerEntity"].CreateNavigator();
string displayName = secDS.SelectSingleNode(
"/dfs:myFields/dfs:dataFields/dsf:OwnerEntity/[@value = '"
+ value + "']/@owner", NamespaceManager).Value;
sb.Append(displayName);
sb.Append(";");
_xnDoc.SelectSingleNode("//my:myFields/my:Document/my:owner").SetValue(displayName);
--------------------------------------------
The secondary data source (OwnerEntity) returns xml in the below format:
- <options>
- <option>
<value>Corporate</value>
<displayname>Corporate</displayname>
<owner>CNC</owner>
<uniquenumber>000123456</uniquenumber>
</option>
- <option>
<value>UHN</value>
<displayname>UHN</displayname>
<owner>Business</owner>
<uniquenumber>000123457</uniquenumber>
</option>
- <option>
<value>Main</value>
<displayname>Main</displayname>
<owner>IT</owner>
<uniquenumber>000123458</uniquenumber>
</option>
</options>