我想使用以下代码阅读XML文档:
XDocument xdoc = XDocument.Load(fileName);
Run Code Online (Sandbox Code Playgroud)
这不起作用,抛出以下异常(由我自由翻译):
System.Xml.XmlException:'xlink'是未声明的前缀.
这是异常引用的XML行:
<use xlink:href="#lend13" transform="scale(-8.5,-8.5) "/>
Run Code Online (Sandbox Code Playgroud)
如何修改加载代码,以便成功读取XML文档?我是否必须事先设置名称空间?怎么样?
如果您可以编辑 Xml,则可以通过为其定义命名空间来修复
<use xlink:href="#lend13" transform="scale(-8.5,-8.5)
xmlns:xlink="http://myurl.com/" />
Run Code Online (Sandbox Code Playgroud)
否则,您可以在使用 XmlDocument 时预定义命名空间
XmlDocument.DocumentElement.SetAttribute("xmlns:xlink", "http://myurl.com/");
Run Code Online (Sandbox Code Playgroud)
在 linq to XML 中,您可以使用 XNamesace 定义属性
XNamespace ns = "http://myurl.com/";
Run Code Online (Sandbox Code Playgroud)