因此,我想要做的是使用 xsltproc 查询 XML 文件,并传入服务器名称的参数。此名称包含在 XML 文档中。我想从这个文件中提取用户名和密码。
因此,Name 是 User 和 Pass 的兄弟。我不经常使用 XSLT 或 XPath 或 XQuery(这是 19 年来的第二次)。我只是迷失了如何从样式表中的 XML 文件中提取数据。
这是我从 CLI 传递的内容(我认为这是正确的):
xsltproc --stringparam site_name "'site2'" style.xsl source.xml
这是 XML
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Container>
<Servers>
<Folder expanded="1">
<Server>
<User>username1</User>
<Pass>password1</Pass>
<Name>Site1</Name>
</Server>
<Server>
<User>username2</User>
<Pass>password2</Pass>
<Name>Site2</Name>
</Server>
</Folder>
<Server>
<User>username3</User>
<Pass>password3</Pass>
<Name>Site3</Name>
</Server>
<Server>
<User>username4</User>
<Pass>password4</Pass>
<Name>Site4</Name>
</Server>
</Servers>
</Container>
这是我当前的 XSLT 样式表
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:param name="site_name">Site1</xsl:param>
<xsl:output method="text"/>
<xsl:template match="//Servers">
<xsl:value-of select="//Server/Name"/>
</xsl:template>
</xsl:stylesheet>