给定一个示例 xml 文件:
<root>
<tag attr="value">Content</tag>
<tag attr="value2">Content</tag>
</root>
我如何tag
用不同的标签替换每个,所以我得到一个不同的文件:
<root>
<tag2 attr2="value"/>
<tag2 attr2="value2"/>
</root>
文档 [1] 似乎使用了过滤器,有没有办法只用箭头来完成这个?
更新
我现在可以像这样替换节点:
runX $ readDocument [] "in.xml"
>>> processTopDown(
(eelem "tag2" += sattr "attr2" "XXX" )
`when` (isElem >>> hasName "tag") )
>>> writeDocument [] "test.xml"
但我不知道如何获得正确的属性。
[1] http://www.haskell.org/haskellwiki/HXT#Transform_external_references_into_absolute_reference