c# - 如何用 xslt 样式表替换 XML 元素值?
问题描述
我必须更换每个
CalculationItemPointCalculationItem/<CalculationSource>**xxxxxx**</CalculationSource>
<Name>
元素的值 位于Sources/CalculationSource/<ID>**xxxxxx**</>
--> where ID==CalculationSource
我尝试了很多但从未得到这个:CalculationItemPointCalculationItem/<CalculationSource>Bauplan01</CalculationSource>
这是我所做的链接:http: //xsltransform.net/aUSW7n/8
<Project>
<ProjectChildPosition>
<Number>1</Number>
<Name>Pos 1.1</Name>
<CalculationItems>
<CalculationItemPointCalculationItem>
<Name>(R)Bodenbeschichtung</Name>
<CalculationSource>f3ba3b76</CalculationSource>
</CalculationItem>
</CalculationItems>
<Value>10.018</Value>
<Unit>m²</Unit>
</ProjectChild>
<Sources>
<CalculationSource>
<Id>f3ba3b76</Id>
<Name>Bauplan01</Name>
</CalculationSource>
</Sources>
<Sources>
<CalculationSource>
<Id>sdfese</Id>
<Name>Bauplan02</Name>
</CalculationSource>
</Sources>
<Name>POS test Projekt </Name>
</Project>
解决方案
我猜你想用钥匙
<xsl:key name="source" match="Sources/CalculationSource" use="Id"/>
<xsl:template match="CalculationItemPointCalculationItem/CalculationSource">
<xsl:copy>
<xsl:value-of select="key('source', .)/Name"/>
</xsl:copy>
</xsl:template>
推荐阅读
- flutter - 是否有可能以字节为单位获取对象的大小,尤其是列表
或地图 ? - testing - 通过命令在 TestCafé Studio 中运行测试
- c - 无法在共享库中附加共享内存
- python - 从nodejs产生的python进程读取输出的问题
- php - 从WordPress中的最后一篇文章中获取第一张图片
- c - 计算C中一个句子中单词的出现次数
- c# - Microsoft Office interop Excel 中是否有任何选项隐藏保存对话框?
- javascript - 如何使用一些可选模块构建多包节点模块
- javascript - 如何在 Jquery 选择器中使用变量
- google-apps-script - 问:如何将 URL 域列表转换为完整 url