“''''''字符,十六进制值0x3A,不能包含在名称中”,当加载xml文件时,请使用XDocument

时间:2018-02-21 15:51:11

标签: xml hex linq-to-xml system.xml

我必须读取一个XML文件,但它在第一个节点中有':'。当我尝试使用XDocument或XElement或xmldocument加载文件时出现此错误。我不知道如何解决这个问题问题。

string _filePath= @"C:\testfile.xml";
XDocument xDoc = XDocument.Load(_filePath);

“''''字符,十六进制值0x3A,不能包含在名称中。第1行,第6位”。

我的XML文档:

<?xml:stylesheet type="text/xsl" href="\\10.189.41.02\g$\XMLTest-Viewer.xsl"?>
<TestXml>
//More data here
 </TestXml>

如果我手动删除冒号,我可以成功加载文件,有没有办法用':'加载文件而不更改XML文件?

1 个答案:

答案 0 :(得分:1)

正确的处理指令名称是xml-stylesheet,而不是xml:stylesheet。处理指令名称中的冒号不允许使用格式良好的XML - 或者换句话说,您正在尝试读取非XML文件。