带空格的 Xml文档文件名

本文关键字:文档 文件名 Xml 空格 | 更新日期: 2023-09-27 17:55:53

我在 windows7 中有包含服务名称的 XML 文件,其中一个服务有空格,即"服务名称"我在加载文件时出现异常:

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 有空格,有没有办法接收它,因为我无法更改服务名称。

我得到的例外:

"/"是一个意外的标记。预期的标记为"="。824路, 位置 23。at System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args) at System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(String 预期令牌 1, 字符串 预期令牌 2) 在 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 System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at System.Xml.XmlDocument.Load(String filename) at Stop_Start_systems。功能。。ctor(字符串路径,字符串文件) in c:''Stop_Start_systems''Functions.cs:line 32 at Stop_Start_systems。Default.Page_Load(对象发送器,EventArgs e) in c:''Stop_Start_systems''默认值.aspx.cs:第 31 行 System.Collections.ListDictionaryInterna 谢谢

带空格的 Xml文档文件名

该问题与

XML 文件的名称或您发布的代码无关。它与XML无效有关。XML 元素名称不能包含空格,因此这是无效的:

<Service-1 Agent/>

相反,您应该对所有服务使用相同的元素名称,将服务名称放入属性中,例如

<Service Name="Service-1 Agent" />
<Service Name="Some other service" />

等。我强烈建议您使用 API 自动创建 XML 文件,而不是手动创建 - 这样您更有可能最终获得有效的 XML。