使用XMLDataProvider和命名空间的WPF数据绑定

时间:2017-08-25 08:43:26

标签: c# xml wpf namespaces xmldataprovider

我们有一个带有不同命名空间的XML文件,您可以在下面看到它,我想将xml文件绑定到XmlDataProvider。需要删除命名空间,否则我无法将xml加载到数据源中。问题:

未处理的类型' System.Xml.XmlException'发生在System.Xml.dll

其他信息:根级别的数据无效。第1行,第1位。

这是我的XML和绑定代码:

<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.054.001.04" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:camt.054.001.04 camt.054.001.04.xsd">

<Grid.DataContext>
            <XmlDataProvider x:Name="xdata" XPath="//RmtInf/Strd/CdtrRefInf" >
            </XmlDataProvider>
</Grid.DataContext>

数据加载工作正常,它显示正确的值,但我无法保护文件,因为:

未处理的类型&#39; System.ArgumentException&#39;发生在System.Xml.dll

其他信息:&#39; xmlns&#39;属性绑定到保留的命名空间&#39; http://www.w3.org/2000/xmlns/&#39;。

这是我加载XML的代码:

 XmlDocument d = new XmlDocument();
            using (XmlTextReader tr = new XmlTextReader(filePath))
            {
                tr.Namespaces = false;
                d.Load(tr);
            }
            xdata.Document = d;
            xdata.Refresh();

我是否需要再次添加命名空间?只是一个默认或特殊的? 感谢您的帮助和反馈。

0 个答案:

没有答案