Overview:
In my case I have InfoPath form to capture First Name, Last Name, and Email of customers. I need to access these values programmatically.
Understanding:
Fields declared in custom InfoPath form are stored as ‘my:{fieldname}’ format .
| Field name | Display name | XML representation |
| txtFirstName | First Name | my:txtFirstName |
| txtLastName | Last Name | my:txtLastName |
| txtEmailAddress | Email Address | my:txtEmailAddress |
Solution:
There are many ways to access InfoPath form. In this solution we are using following steps to retrieve InfoPath form data.
- Identify field names and their XML representation
- Read InfoPath form item from InfoPath document Library
- Load attached InfoPath form’s XML representation to XmlTextReader
- Read each node using XmlTextReader and extract user input based on our requirement
Code:
Source Code : ReadFromInfoPathForm
Out put:



Alternatively you can use XPath to extract data .For the complex InfoPath forms I recommend to use XPath.
Comment by sujeewa.ediriweera — February 16, 2012 @ 1:06 am |