设置XmlDataProvider源而不保存文件

时间:2010-07-07 10:06:00

标签: c# binding xmldataprovider

在我的浏览器wpf应用程序中,我使用数据绑定到来自我的数据库的xml。 绑定它是我使用XmlDataProvider的更好方法。

在开头我宣布

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

但后来我需要将它指向一个新的XDocument。问题:有没有办法将我的XmlDataProvider设置为XDocument,而不将其保存在某处并使用URI?

1 个答案:

答案 0 :(得分:3)

您可以将XDocument转换为内存中的XmlDocument,然后在listdataxml上设置Document属性。有关如何从XDocument转换为XmlDocument的信息,请参阅this StackOverflow question

放在一起,看起来像这样:

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