在xslt中使用xpath更新xml
我有一个xml;我需要动态更新一些值 例如:在xslt中使用xpath更新xml,xml,xslt,xpath,Xml,Xslt,Xpath,我有一个xml;我需要动态更新一些值 例如: <School> <class name=1> <students>10</students> <teacher>3</teacher> </class> <class name=2> <students>102</students> <teacher>13</teacher&
<School>
<class name=1>
<students>10</students>
<teacher>3</teacher>
</class>
<class name=2>
<students>102</students>
<teacher>13</teacher>
</class>
</School>
10
3.
102
13
其中,在其他xml中:
我将有xpath和相应的值
例如:
<data>
<path>/school/class['name' = 1]/students</path><value>20</value>
</data>
/学校/班级['name'=1]/学生20
所以当我通过xslt进行查询时
默认xml将被提取,与数据相关的xml也将被提取,并且需要替换相应的值
是否可以通过xslt..?xslt将XML文档转换为另一种形式(包括另一种XML文档)。这通常是通过创建一个新的输出文件并进行一些转换来实现的。然后可以删除旧文件并替换为新文件 编辑:
在重读您的文章时,我想您也在问是否可以处理两个XML文档作为XSLT的输入,答案是可以的。请看一看“document()”函数。首先,有几条注释:
/school/class['name'=1]/students
可能不会执行您期望的操作;)。。。谓词'name'=1
将字符串'name'
与整数1
进行比较,并返回false,这意味着您的表达式将始终返回空节点集。要选择name属性为1的类,您最好编写:/school/class[@name=1]/students
第一步本身可以是XSLT转换,它将在生成的XSLT转换中复制XPath表达式。运行第二步时,这些XPath表达式只是简单的静态XPath表达式…动态XPath表达式解析和计算在XSLT 1.0或XSLT 2.0中都是不可能的。它很可能在XSLT3.0中实现。在此之前,最好改变不切实际的设计/要求。