为下拉框创建带有变量的 XML 文件
Posted
技术标签:
【中文标题】为下拉框创建带有变量的 XML 文件【英文标题】:create XML file with variables for drop down box 【发布时间】:2021-10-22 10:22:44 【问题描述】:我创建了一个 XML 文件,并且可以成功地使用该信息来创建一个下拉列表。我想要实现的是从 stringResource 文件中添加变量以创建下拉列表的值。
我的原始 XML 文件是:
<root>
<row>
<var name="--Select--"/>
</row>
<row>
<var name="Agriculture"/>
</row>
<row>
<var name="Airline"/>
</row>
<root>
在尝试添加变量时,我尝试了以下方法:
<PackageTransform>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:aspdnsf="urn:aspdnsf" exclude-result-prefixes="aspdnsf">
<xsl:output method="html" omit-xml-declaration="yes" />
<xsl:template match="row">
<xsl:param name="pReplacement" select="'Something Different'"/>
<root>
<row>
<xsl:value-of select="aspdnsf:StringResource('industry.cs.1')"/>
</row>
<row>
Air
</row>
<row>
<xsl:value-of select="$pReplacement" />
</row>
</root>
</xsl:template>
</xsl:stylesheet>
我的工作代码,原始 XML 文件是:
XmlNodeList industrylist = XmlDoc.GetElementsByTagName("row");
foreach (XmlNode Node in industrylist)
string industry = Node["var"].Attributes["name"].Value;
_cboIndustryType.Items.Add(new ListItem(industry));
使用顶部 XML 文件,我的下拉列表正确列出了所有名称:
-
--选择--
农业
航空公司
我无法将属性名称设置为变量,因此我更改了代码以查找节点 innerXML,如下所示:
XmlNodeList industrylist = XmlDoc.GetElementsByTagName("row");
foreach (XmlNode Node in industrylist)
string industry = Node.InnerXml;
_cboIndustryType.Items.Add(new ListItem(industry));
但经过多次尝试(例如第二个 XML 文件)后,我无法让变量正确显示。我看到以下列表:
如果有人能告诉我我在这里做错了什么,我将不胜感激。
提前致谢!
【问题讨论】:
可能你在一个步骤中尝试了太多。将下拉框的 XML 文件的使用与通过 XSLT 生成 XML 分开。问题出在哪方面? 【参考方案1】:我想出了一个方法来做我想做的事。
我刚刚编写了 2 个不同的 XML 文件,每种语言一个,然后更改了代码以根据语言环境选择合适的文件。
if (Customer.Current.LocaleSetting.Contains("es"))
XmlDoc.Load(CommonLogic.SafeMapPath("~/XmlPackages") + "\\industry.drop.down.list.es-MX.xml.config");
else
XmlDoc.Load(CommonLogic.SafeMapPath("~/XmlPackages") + "\\industry.drop.down.list.xml.config");
XmlNodeList industrylist = XmlDoc.GetElementsByTagName("row");
foreach (XmlNode Node in industrylist)
string industry = Node.InnerXml;
_cboIndustryType.Items.Add(new ListItem(industry));
谢谢!
【讨论】:
以上是关于为下拉框创建带有变量的 XML 文件的主要内容,如果未能解决你的问题,请参考以下文章