我可以在XML文件中使用变量吗?

时间:2016-01-13 21:15:37

标签: xml

是否可以在XML文件中定义变量?

例如:

VARIABLE = 'CHIEF_NAME'

<foods>
  <food>
    <name>French Toast</name>
    <price>$4.50</price>
    <calories>600</calories>
    <chief>VARIABLE</chief>
  </food>
  <food>
    <name>Homestyle Breakfast</name>
    <price>$6.95</price>
    <calories>950</calories>
    <chief>VARIABLE</chief>
  </food>
</foods>

2 个答案:

答案 0 :(得分:5)

您可以为chief声明entity reference并将其引用为&chief;

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE foods [
  <!ENTITY chief "CHIEF_NAME!">
  <!-- .... -->
]>
<foods>
  <food>
    <name>French Toast</name>
    <price>$4.50</price>
    <calories>600</calories>
    <chief>&chief;</chief>
  </food>
  <food>
    <name>Homestyle Breakfast</name>
    <price>$6.95</price>
    <calories>950</calories>
    <chief>&chief;</chief>
  </food>
</foods>

答案 1 :(得分:2)

这就是XSLT的用途。

XSLT Wiki

让你入门的东西:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:variable name="yourVar" select="'CHIEF_NAME'">
</xsl:variable>
<xsl:template match="/">
  <food>
    <name>French Toast</name>
    <price>$4.50</price>
    <calories>600</calories>
    <chief><xsl:copy-of select="$yourVar" /></chief>
  </food>
</xsl:template>

</xsl:stylesheet>

这种语法并不完全正确,但我认为这通常是你应该寻找的方向