In the project I’ve been working on, we’re binding a bunch of controls to an XML document. In our bindings, we are extensively using XPath. One of the things that did not occur to me immediately, and seems very obvious now, was that with XML binding you are still binding to objects, specifically XMLNode objects. This means that you can access properties of the XMLNode that you are bound to with Path instead of XPath. For example, you can bind to "Path=InnerText".
One reason this is important is that it makes using data converters much easier. If you bind to a part of an XML source using XPath, the value object in the Convert method and the targetType of the ConvertBack method will sometimes be of type XmlDataCollection (note: this is not universal behavior; I have had this problem when binding to ItemsSource of a ListBox but not Text of a TextBox). However, if you use Path, these will be the same type as the property you bind to. For example, Path=InnerText will be a string. This makes manipulation in the Convert method much simpler and, seems to me, use of the ConvertBack method possible.
