用XML表示C:\Program文件
在我的XML文件中,我试图使用文件的路径;它是这样开始的:用XML表示C:\Program文件,xml,error-handling,path,escaping,cdata,Xml,Error Handling,Path,Escaping,Cdata,在我的XML文件中,我试图使用文件的路径;它是这样开始的: <value key="myPath"><![CDATA[C:\Program Files\myFile.exe]]> 然后,当我启动我的应用程序时,它总是说,找不到文件: 找不到文件C:\程序 所以,很明显,它仍然被程序和文件之间的空间所占据。我想我的CDATA可以解决这个问题 我错了多少?试着在路径周围加上双引号 <value key="myPath"><![CDATA["C:\Pro
<value key="myPath"><![CDATA[C:\Program Files\myFile.exe]]>
然后,当我启动我的应用程序时,它总是说,找不到文件:
找不到文件C:\程序
所以,很明显,它仍然被程序和文件之间的空间所占据。我想我的CDATA可以解决这个问题
我错了多少?试着在路径周围加上双引号
<value key="myPath"><![CDATA["C:\Program Files\myFile.exe"]]>
您可能也不需要使用CDATA,以防您想进一步清理它。尝试在路径周围放置双引号
<value key="myPath"><![CDATA["C:\Program Files\myFile.exe"]]>
您可能也不需要使用CDATA,以防您想进一步清理它。这可能不是XML,可能是您的应用程序在空间结束后终止 一些可能性
- 将路径用引号括起来“”
- 转义空间C:\Program\Files
- 对从空格到%20的空格进行URL编码
如果没有关于如何执行XML的更多信息,就很难说了 这可能不是XML,可能是您的应用程序在共享空间后终止 一些可能性
- 将路径用引号括起来“”
- 转义空间C:\Program\Files
- 对从空格到%20的空格进行URL编码
如果没有关于如何执行XML的更多信息,就很难说了 默认情况下,XML不会弄乱空白。它也不关心文件扩展名之前的退格、冒号或点。实际上,大多数有效路径字符也是有效的XML字符。(我认为它们实际上都是有效的XML文本节点内容。)
问题肯定出在XML处理中,而不是XML内容。默认情况下,XML不会弄乱空白。它也不关心文件扩展名之前的退格、冒号或点。实际上,大多数有效路径字符也是有效的XML字符。(我认为它们实际上都是有效的XML文本节点内容。)
问题肯定出在XML处理中,而不是XML内容。如果我设计这个应用程序,我会存储URI而不是文件名。在通常使用XML的世界中,这似乎是正确的方法。当然,您可以用XML存储任何您喜欢的内容,如果需要存储Windows文件名,那么欢迎您这样做
它不起作用的事实与XML无关。从XML中提取文件名并试图打开文件的接收应用程序出错:它要么弄乱了文件名本身,要么将其传递给API,而无法处理包含空格的文件名。如果我设计此应用程序,我会存储URI而不是文件名。在通常使用XML的世界中,这似乎是正确的方法。当然,您可以用XML存储任何您喜欢的内容,如果需要存储Windows文件名,那么欢迎您这样做
它不起作用的事实与XML无关。从XML中提取文件名并试图打开文件的接收应用程序出错:它要么弄乱了文件名本身,要么将其传递给API,而无法处理包含空格的文件名。您可以使用
"e;路径%quote代码>技术。相当脏,但工作正常,您可以使用"e;路径%quote代码>技术。相当脏,但工作正常,不是xml、cdata或否,而是您的程序错误处理了空间。cdata只是一种不需要转义的方便方式&cdata(或XML)与您的问题无关。是你的程序没有正确处理实际值。你们是对的,是解析器把它搞砸了。感谢您的评论。不是xml、cdata或否,而是您的程序对空间的处理不当。cdata只是一种不需要转义的方便方式&cdata(或XML)与您的问题无关。是你的程序没有正确处理实际值。你们是对的,是解析器把它搞砸了。谢谢你的评论。