我的XML文件包含windows7中的服务名称,其中一个服务有空格,即"服务名称"加载文件时出现异常:
fileName = file;
pathToFile = path;
XmlDocument ServerList = new XmlDocument();
ServerList.Load(pathToFile + fileName);
XML:
<systems>
<Groups>
<Myervices>
<Dialogic/>
<BoardServer/>
<HmpElements/>
<Service-1 Agent/>
</Myervices>
</Groups>
</systems>
filenName有空格,有没有办法接收它,因为我无法更改服务名称。
我得到的例外:
&#39; /&#39;是一个意外的令牌。预期的令牌是&#39; =&#39;。 824行, 位于23.的System.Xml.XmlTextReaderImpl.Throw(例外e)处 System.Xml.XmlTextReaderImpl.Throw(String res,String [] args)at System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(字符串 expectedToken1,String expectedToken2)at System.Xml.XmlTextReaderImpl.ParseAttributes()at System.Xml.XmlTextReaderImpl.ParseElement()at System.Xml.XmlTextReaderImpl.ParseElementContent()at System.Xml.XmlTextReaderImpl.Read()at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)at at System.Xml.XmlLoader.Load(XmlDocument doc,XmlReader reader,Boolean 保存在System.Xml.XmlDocument.Load(XmlReader阅读器) 在System.Xml.XmlDocument.Load(String filename)at Stop_Start_systems.Functions..ctor(String path,String file)in c:\ Stop_Start_systems \ Functions.cs:第32行at Stop_Start_systems.Default.Page_Load(Object sender,EventArgs e)in c:\ Stop_Start_systems \ Default.aspx.cs:第31行 System.Collections.ListDictionaryInterna谢谢
答案 0 :(得分:1)
问题与XML文件的名称或您发布的代码无关。它与XML无效有关。 XML元素名称不能包含空格,因此这不是有效的:
<Service-1 Agent/>
相反,您应该为所有服务使用相同的元素名称,而是将服务名称放入属性中,例如。
<Service Name="Service-1 Agent" />
<Service Name="Some other service" />
等。我强烈建议您使用API而不是手动自动创建XML文件 - 这样您很多更有可能最终得到有效的XML。