假设您要在应用中阅读XML元素,但是您有多个环境,其中相关文件的路径可能会发生变化
<root>
<element ID="MyConfigFile" url="c:\Program Files\MyProgram\resources\MyProgramconfig.xml" />
<element ID="Executable" url="c:\Program Files\MyProgram\Prog.exe" />
</root>
...所以你想要引用相对目录
@ path =“c:\ Program Files \ MyProgram \”
<root>
<element ID="MyConfigFile" url="@path\resources\MyProgramconfig.xml" />
<element ID="Executable" url="@path\Prog.exe" />
</root>
您可以使用XML本身声明的变量来引用相对目录路径吗?
答案 0 :(得分:11)
您需要在文件中添加DOCTYPE声明,在那里声明一个实体,然后在文档正文中引用该实体。
<!DOCTYPE root [
<!ENTITY path "c:\Program Files\MyProgram">
]>
<root>
<element ID="MyConfigFile" url="&path;\resources\MyProgramconfig.xml" />
<element ID="Executable" url="&path;\Prog.exe" />
</root>
答案 1 :(得分:0)
不确定,请尝试使用实体
<!ENTITY path "c:\Program Files\MyProgram\">
<element ID="MyConfigFile" url={&path + "resources\MyProgramconfig.xml"} />