使用xsltproc实现XML节点复制与标签值拼接的转换需求
xsltproc处理XML节点复制与内容修改的实践经验
作为xsltproc新手,我需要完成特定XML到目标XML的转换,核心需求如下:
- 完整保留原XML的所有内容
- 在
bindings节点内复制原有的binding节点:新节点的name属性需追加-1,同时将新节点中machine标签的文本值追加-test binding的name属性值和machine的文本值均为动态不固定内容- 待处理XML结构固定:仅包含一个
event标签,且event内部只有一个binding节点
遇到的问题
最初编写的XSLT样式表,在他人协助下完成了节点复制和name属性的修改,但始终无法修改新复制节点的machine标签文本值;同时还存在疑问:如果machine标签的文本值包含空白,会不会被xsltproc自动处理为闭合标签,以及如何避免这种情况。
解决方法
最终通过为元素添加命名空间前缀的方式,成功解决了所有问题,得到了可正常运行的XSLT样式表。
内容的提问来源于stack exchange,提问作者Blurred_Vision
相关产品推荐
相关产品推荐

