【问题标题】:How to write relative unix path in xml如何在 xml 中编写相对 unix 路径
【发布时间】:2010-10-20 01:02:48
【问题描述】:

当我在 unix 中运行进程时,路径指向 /abc/1/2/3

我正在为在路径中运行的进程在 xml 中设置一个属性。 我有一个财产

< property name="log.path" value="/abc/4/5"/ >

问题是我不能像上面那样给出绝对路径(“/abc/1/2/3”)。我必须给出类似“../../../4/5”的东西。

< property name="log.path" value="../../../4/5"/ >

我的问题是为什么上述评估不起作用?目前它正在将 value 中给出的路径视为常量。

【问题讨论】:

  • 如果没有详细说明您为何受到这种方式的限制,很难回答这个问题。请提供更多细节? :)
  • 如果有人否定请添加评论,以便我了解原因。
  • 你的问题还不清楚。为什么不能给出绝对路径?
  • 我无法给出绝对路径,因为“abc”是一个主机名,它会因运行它的机器而异。
  • 所以只需去掉主机名,然后你的绝对路径就是“/4/5”

标签: xml linux path


【解决方案1】:

查看http://en.wikipedia.org/wiki/Path_(computing)

简而言之,您所做的是绝对正确的。如果它不起作用,则问题可能是应用程序执行时,它在与您期望的文件夹不同的文件夹中执行。

如果您提供更多详细信息可以解决

坦梅

【讨论】:

    【解决方案2】:

    XML 只是一种用于存储结构化数据的标准化格式...它没有指定元素属性的含义意味着,因为它不知道(例如)该属性在语义上是 Unix 类型路径。

    所以这并不是关于 XML 的真正问题,而是关于读取 XML 的应用程序如何处理指定路径的问题。例如(如前所述),它认为当前的目录会影响相对路径的解释...假设应用程序实际上正确解析了相对路径。

    【讨论】:

      【解决方案3】:

      好的,我们来分析一下。

      当我在 unix 中运行进程时,路径指向 /abc/1/2/3

      现在该进程的可执行文件是否存在于 /abc/1/2/3 或者 /abc/1/2/3 您的 current working directory过程?

      如果进程的当前工作目录是 /abc/1/2/3 并且进程读取该 XML 文件并尝试通过像 这样的系统调用直接使用其中的路径open 那么相对路径符号 ../../../4/5 应该可以工作。但是,如果路径 /abc/1/2/3 不是当前工作目录,而只是可执行文件的位置,那么 ../../../4/5 em> 不能工作,因为当前工作目录不是 /abc/1/2/3 并且相对路径总是对当前工作目录起作用。

      确保检查 /abc/1/2/3 是否真的是当前工作目录,而不仅仅是可执行位置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-30
        • 1970-01-01
        • 2010-12-30
        • 2018-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多