我需要在 XML 文件中放置一个变量

I need to put a variable inside an XML file

在XML文件中,有引用图片的节点,而且数量很多!我想做的是在文档顶部创建一个变量来指定驱动器和路径 (C:\IMAGES),这样如果我想更改路径或驱动器或两者,那么我只需要在一条线。但是,我尝试了不同的格式,但无法使其在节点内工作。

这是现在的样子:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>

<CustSection xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <FileVersion IncrementalVersion="3" MajorVersion="0" MinorVersion="1" UserVersion="0"/>
  <Header>...
   </Header>
       <MenuMacro UID="ID_EPSOutput">
        <Macro type="Any">
          <Revision MajorVersion="16" MinorVersion="2" UserVersion="1"/>
          <Name UID="XLS_1309" xlate="true">Create EPS output for IOC</Name>
          <Command>-vbarun acadproject.main.Run_EPSOutput </Command>
          <SmallImage Name="F:\COMMON\CAREM-B18\Images\EPS.bmp"/>
          <LargeImage Name="F:\COMMON\CAREM-B18\Images\EPS.bmp"/>
        </Macro>
      </MenuMacro>

我想简化<SmallImage Name="F:\COMMON\CAREM-B18\Images\EPS.bmp"/>

像这样: <SmallImage Name="{$path}EPS.bmp"/>

Entities 对此很有效。您可以将 path 声明为 DTD 中的实体:

<!DOCTYPE CustSection [<!ENTITY path "F:\COMMON\CAREM-B18\Images\">]>

然后将 XML 中的 path 实体引用为 &path;

应用于您的文档:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE CustSection [<!ENTITY path "F:\COMMON\CAREM-B18\Images\">]>
<CustSection xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <FileVersion IncrementalVersion="3" MajorVersion="0" MinorVersion="1" UserVersion="0"/>
    <Header>...
    </Header>
    <MenuMacro UID="ID_EPSOutput">
        <Macro type="Any">
            <Revision MajorVersion="16" MinorVersion="2" UserVersion="1"/>
            <Name UID="XLS_1309" xlate="true">Create EPS output for IOC</Name>
            <Command>-vbarun acadproject.main.Run_EPSOutput </Command>
            <SmallImage Name="&path;EPS.bmp"/>
            <LargeImage Name="&path;EPS.bmp"/>
        </Macro>
    </MenuMacro>
</CustSection>