I have a written a fully Managed UPnP library around the microsoft UPnP Control Point COM objects, its available with full source and a demo project, you can download it from a GitHub repository here:
https://github.com/jogibear9988/ManagedUPnP
It supports full traversal of the UPnP description documents using an object heirachy and among other things is very easy to use.