您是否可以在XML中声明和使用变量,而无需使用XSL来转换/解析XML

kic*_*811 7 xml

假设您有一个要在应用程序中读取的XML元素,但是您有多个环境,其中依赖文件的路径可能会更改

<root>
  <element ID="MyConfigFile" url="c:\Program Files\MyProgram\resources\MyProgramconfig.xml" />
  <element ID="Executable" url="c:\Program Files\MyProgram\Prog.exe" />
</root>
Run Code Online (Sandbox Code Playgroud)

...所以你想要引用相对目录

@ path ="c:\ Program Files\MyProgram \"

<root>
  <element ID="MyConfigFile" url="@path\resources\MyProgramconfig.xml" />
  <element ID="Executable" url="@path\Prog.exe" />
</root>
Run Code Online (Sandbox Code Playgroud)

您可以使用XML本身声明的变量来引用相对目录路径吗?

Ian*_*rts 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>
Run Code Online (Sandbox Code Playgroud)