2010-07-07 9 views
1

dans mon navigateur wpf application j'utilise la liaison de données à xml qui vient de ma base de données. pour lier la meilleure façon j'utilise le XmlDataProvider.définir XmlDataProvider source sans enregistrer le fichier

Au début, je déclare

<Grid.DataContext> 
    <XmlDataProvider x:Name="listdataxml" XPath="EssenceList/Essence" Source="model.xml"/> 
</Grid.DataContext> 

, mais plus tard, je dois signaler à une nouvelle XDocument. La question: est-il un moyen de définir mon XmlDataProvider à un XDocument, sans l'enregistrer quelque part et en utilisant URI?

Répondre

2

Vous pouvez convertir le document XDocument en document XmlDocument en mémoire, puis définir la propriété Document sur listdataxml. Voir this StackOverflow question pour savoir comment convertir un XDocument en un XmlDocument.

Mis ensemble, il ressemblera à ceci:

var xmlDocument = new XmlDocument(); 
using (var xmlReader = xDocument.CreateReader()) 
{ 
    xmlDocument.Load(xmlReader); 
} 
listdataxml.Document = xmlDocument; 
+0

grâce, qui fonctionne)) – user362249