如何在代码后台加载XML字符串到数据绑定UI控件中,以绑定到XML的XPath?

3
我看到的每个示例都在xmldataprovider源中使用静态XML,然后使用XPath绑定将其用于数据绑定UI控件。想法是使用WPF UI编辑动态XML(开发人员在编码期间已知结构)。
有没有人找到一种方法来加载动态xml字符串(例如在运行时从文件中加载它),然后将该xml字符串用作XmlDataprovider源?
代码片段会很棒。
更新:为了更清楚地说明,假设我想加载从Web服务调用中收到的xml字符串。我知道xml的结构。因此,我将其数据绑定到WPF UI控件上的WPF窗口。如何使其工作?所有在网络上的示例都在XmlDataProvider节点中在XAML代码中定义整个XML。这不是我要找的。我想在代码后台中使用xml字符串来进行数据绑定到UI控件。

你的问题不是很清楚。 - Esteban Araya
2个回答

2

下面是我用来从磁盘加载XML文件并将其绑定到TreeView的一些代码。为了简洁起见,我删除了一些常规测试。该示例中的XML是一个OPML文件。

XmlDataProvider provider = new XmlDataProvider();

if (provider != null)
{
  System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
  doc.Load(fileName);
  provider.Document = doc;
  provider.XPath = "/opml/body/outline";
  FeedListTreeView.DataContext = provider;
}

1

使用您的 Web 服务获取 XML 并从中创建 XML 文档,然后将 xmlDataProvider 的源设置为从服务获取的 XMLDocument。

我没有带有 Visual Studio 的电脑来测试它,但您应该可以做到这一点。

步骤如您在问题中提到的:

1. 从 Web 服务获取 XML
2. 将 XML 字符串转换为 XML 文档
3. 将 XMLDataProvider.Document 值设置为您的 XML 文档
4. 将其绑定到您的控件

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接