如何保存xsl:for-each中发生的迭代?(XSL中的变量是不可变的)
我的目标是找到特定级别的任何节点的MAX子节点数.
例如,我可能希望打印出此调查中任何问题的响应节点不超过2个:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="testing.xsl"?>
<Survey>
<Question>
<Response text="Website" />
<Response text="Print Ad" />
</Question>
<Question>
<Response text="Yes" />
</Question>
</Survey>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html>
<head>
</head>
<body>
<xsl:for-each select="Survey">
The survey has <xsl:value-of select="count(child::Question)"/> questions.
<br />
<xsl:variable name="counter">0</xsl:variable>
<xsl:for-each select="Question">
<!-- TODO: increment the counter ??????? -->
</xsl:for-each>
No more than <xsl:value-of select="$counter"/> responses were returned for any question.
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud) 我正在努力做一些似乎应该很容易做的事情.我基本上想要在一个节点中乘以2个数字,然后将所有节点的总数加起来.这是我尝试过的XSLT代码.
<xsl:value-of select="sum(Parts/Part/Quantity * Parts/Part/Rate)"/>
Run Code Online (Sandbox Code Playgroud)
此代码导致出现"函数和的参数1无法转换为节点集"的错误.
有没有人知道什么是错的或我怎么能完成我想要做的事情?
我想在Xslt中检查当前节点的父节点是否是根节点.我这样做了吗?请指导我摆脱这个问题......
谢谢和问候,P.SARAVANAN
我知道如何使用XPath从XML中找到我需要的东西.语法需要一点时间习惯,但它非常强大.我也有兴趣学习XQuery,但SQL语法似乎很尴尬.即便如此,如果它不仅可以提供选择的等价物,而且还可以像SQL那样提供更新,插入和删除,我将原谅所有的尴尬.
那么,XQuery是否具有Update,Insert和Delete以及Select的等价物?
XPath是否具有我忽略的这些等价物?
我直接从http://www.w3schools.com/xsl/xsl_transformation.asp复制了一个XSLT示例,我似乎无法在Google Chrome中查看.但是,它似乎在IE中运行良好.
有谁知道为什么会这样?
在线版本工作正常,但本地副本没有.
我有一些复杂的XSLT 2.0转换.我试图找出是否有通用的方法来确保不输出空标签.所以......从概念上讲,处理的最后阶段会递归删除所有空标记.我知道这可以通过一个单独的XSLT来完成,它除了过滤掉空标签之外什么也没做,但是我需要将它们全部打包在一起.
是否可以使用Web Deploy的Parameters.xml系统将XML元素插入到我的web.config中?
该XMLFILE出现参数"厚道"是最接近我所需要的,但它的match属性只接受XPath查询,而我似乎没有能够在我的XPath查询指定一个不存在的元素.(或者说,我可以指定一个不存在的元素 - Web Deploy只是忽略它.)具体来说,我想改变它:
<configuration>
<plugins>
<add name="bleh"/>
</plugins>
</configuration>
Run Code Online (Sandbox Code Playgroud)
进入这个:
<configuration>
<plugins>
<add name="bleh">
<option name="foo" value="bar"/>
</add>
</plugins>
</configuration>
Run Code Online (Sandbox Code Playgroud)
(不幸的是,我无法使用空option元素预先存储web.config,因为这个特定的插件系统不喜欢无法识别/空的选项.)
谢谢你的任何想法!
我有一个包含数字的字符串.仅在XPath中我只能获得数字吗?
例如:myString ="abcd12ef34gh567",结果:1234567
这是我的xml文档: -
<root>
<child_1 entity_id = "1" value="india">
<child_2 entity_id = "2" value="gujarat">
<child_3 entity_id = "3" value="Ahemdabad"/>
<child_4 entity_id = "4" value="Surat"/>
<child_5 entity_id = "5" value="Rajkot"/>
</child_2>
</child_1>
</root>
Run Code Online (Sandbox Code Playgroud)
这是我的javascript html代码: -
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var xml;
var ind_sex;
$.get(
"code.xml",
null,
function (data) {
xml = data;
},
"xml"
);
function get_list() {
var city = $('#name').val();
alert(city);
var xPath = '//*[@value = "city"]' +
'/../../@value';
var iterator = xml.evaluate(xPath, xml.documentElement, null,
XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
var …Run Code Online (Sandbox Code Playgroud) 我想从ASP.NET中的数据库动态生成表单,最好的方法是什么?我可以使用任何内置功能吗?
我将有数据库表来表示面板及其名称,然后对于每个面板,它包含不同的字段及其类型(组合,文本框等等).
请指教,谢谢.
注意:我必须使用Telerik Ajax控件来生成表单