使用 XSLT 将 XML 转换为 XML(添加、删除、修改) [英] XML to XML conversion with XSLT (Add, delete, modify)
问题描述
我正在尝试使用 XSLT 从一个 XML (XHTML) 文件转换为另一个文件.我必须添加一些新元素和属性,删除一些元素和属性以及更新一些现有属性的值.因此,在本论坛提供的宝贵帮助下,我可以按照上一个问题的答案完成许多任务:XML to XML with XSLT- Add, Remove, Modify Elements and Attributes 但是当元素具有相同的名称和一个相同属性.那时我无法区分它进行修改.例如:我在 div 标签之后有两个 type="t/j" 脚本,其中 id="123" 和一个 type="t/j" 脚本在 head 标签内.我必须删除 src="abc.js" 的脚本元素,只有当它出现在 div 标签之后(不在 head 标签内)并将 xyz.js 的值更改为 lmn.js 时.我已在我的来源和所需文件中就修订发表了评论.为了消除 onClick 事件,我传递了一个模板匹配,它不使用 @onClick 做任何事情,它根据要求从任何地方删除 onClick 事件.但是,当我应用相同的技术从特定位置(在源文件中注释)删除span"标签时,它不仅会从那里删除,而且还会从我不想删除的所有其他地方删除.请在下面找到我的 XML 文件-
源文件:
<html xmlns="http://www.w3.org/1999/xhtml"><头><meta http-equiv="Content-type" content="text/html; charset=utf-8"/><script type="t/j" src="abc.js"></script>头部><身体><div id="o"><div id="m"><div id="nD"><p id="nT">第 1 部分
<div class="TF" id="123"><!--将 XYZ.JS 的值更改为 LMN.JS--><script type="t/j" src="xyz.js"></script><!--删除此脚本--><script type="t/j" src="abc.js"></script><div class="iD"><img alt="" src="ic.gif"/><span class="iDe">ABC</span><br/><div class="iDev"><div id="ta12" class="bl" style="dis:bl"></div><div class="q"><br/><br/><!--从这里移除跨度标记--><div id="ta12" class="bl" style="dis:bl">1<span style="color: #000000;">XYZ</span>
<!--删除点击事件--><br/>T <input type="radio" name="op12" id="t12" onclick="getFeedback()"/>F <input type="radio" name="op12" id="f12" onclick="getFeedback()"/><div>C</div><div>在</div><div><div></div>