代码之家  ›  专栏  ›  技术社区  ›  Vin

如何将代码中的xml字符串加载到绑定到xml的XPath的数据绑定UI控件?

  •  3
  • Vin  · 技术社区  · 16 年前

    我看到的每个示例都在xmldataprovider源代码中使用静态XML,然后使用XPath绑定将其用于数据绑定UI控件。

    是否有人找到了加载动态xml字符串的方法(例如在运行时从文件中加载),然后将该xml字符串用作XmlDataprovider源?

    代码片段会很棒。

    更新:为了更清楚地说明, 假设我想加载从web服务调用收到的xml字符串。我知道xml的结构。因此,我将其数据绑定到WPF窗口上的WPF UI控件。如何做到这一点?通过web上的所有示例,在XmlDataProvider节点的XAML代码中定义整个XML。这不是我要找的。我想在codebehind中使用xml字符串将数据绑定到UI控件。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Paul Osterhout    16 年前

    下面是我用来从磁盘加载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;
    }
    
        2
  •  1
  •   Mauro    16 年前

    我不是在一台有VisualStudio的pc上测试它,但你应该可以这样做。

    1. Get XML from webservice
    2. Convert XML String to XML Document
    3. Set the XMLDataProvider.Document value to your XML Document
    4. Bind that to your controls