使用Linq

时间:2015-07-02 11:59:36

标签: c# .net xml linq

我想使用以下代码阅读XML文档:

XDocument xdoc = XDocument.Load(fileName);

这不起作用,抛出以下异常(由我自由翻译):

  

System.Xml.XmlException:'xlink'是未声明的前缀。

以下是异常引用的XML行:

<use xlink:href="#lend13" transform="scale(-8.5,-8.5) "/>

如何修改加载代码,以便成功读取XML文档?我是否必须事先设置名称空间?怎么样?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

如果您可以编辑Xml,可以通过为其定义命名空间来修复

<use xlink:href="#lend13" transform="scale(-8.5,-8.5) 
xmlns:xlink="http://myurl.com/" />

否则,您可以在使用XmlDocument

时预定义命名空间
XmlDocument.DocumentElement.SetAttribute("xmlns:xlink", "http://myurl.com/");

并且在linq to XML中,您可以使用XNamesace

定义属性
XNamespace ns = "http://myurl.com/";