我想使用以下代码阅读XML文档:
XDocument xdoc = XDocument.Load(fileName);
这不起作用,抛出以下异常(由我自由翻译):
System.Xml.XmlException:'xlink'是未声明的前缀。
以下是异常引用的XML行:
<use xlink:href="#lend13" transform="scale(-8.5,-8.5) "/>
如何修改加载代码,以便成功读取XML文档?我是否必须事先设置名称空间?怎么样?
答案 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/";