我正在加载像这样的xml文件:
XDocument xDoc = XDocument.Load("test.xml");
此test.xml
文件包含<o:abc> <o:bcd>
等节点
但o没有宣布。我试过用这个:
XDocument xDoc = XDocument.Load("C:\\Documents and Settings\\c0kohka\\Desktop\\test.xml");
XNamespace o = "http:\\abc.html" ;
它不起作用给出错误前缀o未声明。谁能告诉我怎么做?
答案 0 :(得分:1)
听起来你的XML无效。
Namespaces in an XML document必须在文档中声明,方法是在父元素上写xmlns:o="http://...
。
答案 1 :(得分:1)
在您定义XNamespace
后,您需要使用:
XDocument xDoc = XDocument.Load("C:\\Documents and Settings\\c0kohka\\Desktop\\test.xml");
XNamespace o = "http:\\abc.html" ; // this seems odd - usually, this would be o = "http://abc.company.com" or something
XElement someElement = xDoc.Descendants(o + "SomeElement");
或类似的东西 - 没有看到XML,它只是猜测充其量....
答案 2 :(得分:0)
你的.xml文件无效。因此,您必须“修复”.xml文件而不是其他任何内容。