1

在我的 XML 文件中,我尝试使用文件路径;它是这样开始的:

<value key="myPath"><![CDATA[C:\Program Files\myFile.exe]]>

然后,当我启动我的应用程序时,它总是说,找不到文件:

找不到文件 C:\Program

所以,显然它仍然被困在程序和文件之间的空间中。我以为我的 CDATA 会解决这个问题。

我错到什么程度?

4

5 回答 5

1

尝试在路径周围放置双引号。

<value key="myPath"><![CDATA["C:\Program Files\myFile.exe"]]>

如果您想进一步清理它,您可能也不需要使用 CDATA。

于 2012-06-13T19:51:49.650 回答
1

这可能不是 XML,它可能是您的应用程序在空格后终止。

几种可能

  • 用引号“”包裹你的路径
  • 转义空格 C:\Program\ Files
  • URL 编码从空格到 %20 的空格

如果没有更多关于如何执行 XML 的信息,很难说。

于 2012-06-13T19:52:01.060 回答
1

默认情况下,XML 不会弄乱您的空格。它也不关心文件扩展名之前的退格、冒号或点。实际上,大多数有效路径字符也是有效的 XML 字符。(我认为它们实际上都是有效的 XML 文本节点内容。)

问题肯定出在 XML 处理上,而不是 XML 内容上。

于 2012-06-13T19:54:01.260 回答
1

如果我正在设计这个应用程序,我会存储 URI 而不是文件名。在通常使用 XML 的世界中,这似乎是正确的方法。当然,您可以在 XML 中存储您喜欢的任何内容,如果需要存储 Windows 文件名,那么欢迎您这样做。

它不起作用的事实与 XML 无关。从 XML 中提取文件名并尝试打开文件的接收应用程序做错了:它要么弄乱了文件名本身,要么将其传递给无法处理包含空格的文件名的 API。

于 2012-06-14T07:52:16.870 回答
0

你可以使用&quote;Path%quote;技术。很脏,但工作正常,

于 2012-10-31T19:04:35.030 回答