我有类似以下 xml 的内容(这实际上并不是数据集更大):
<people>
<!-- People start here -->
<person>
<name>Sara</name>
<age>27</age>
</person>
<person>
<name>Carl</name>
<age>25</age>
</person>
<!-- Nick is the father -->
<person>
<name>Nick</name>
<age>52</age>
</person>
</people>
我已经编写了一个 XSL 来为所有人添加一行,想象现在的人必须看起来像:
<person>
<name>Sara</name>
<age>27</age>
<gender>female</gender>
</person>
但是我仍然想保留评论,但有些在结束节点之后有评论,有些没有。我尝试了很多角度,但我不知道如何检查前面的节点是否是评论。以下方法均无效:
- previous-sibling::comment()[1] (如果曾经有一个评论,它总是会得到这个)
- previous-sibling::* (不接受评论)
- previous::* (不接受评论)
我有点需要查看前面的节点并检查它是否为 case 类型,如果不是,则继续,如果不是,请抓住评论并将其吐出。也许我必须计算出整个文档中的节点位置(如何?)然后以这种方式检查前面的节点?这没有必要是有效的。
谢谢