我有一个XML文件,其结构如下:
A
|--- B
|--- C
|--- C
|--- B
|--- C
|--- B
|--- C
|--- C
|--- C
并尝试使用XSLT将其部分序列化为文本文件。
我在循环所有C元素的每个循环。现在,我想序列化当前C元素的完整“片段”。我使用的是序列化()-function,它对C元素很好,但是,当然,如果我上升到A级,就会得到整个XML。有没有一种方法来序列化它,这样我就可以得到我的C元素,对应的B级和A级,而不是其余的?
提前谢谢你的帮助。
发布于 2017-11-01 01:23:58
鉴于您提到了serialize
,我假设您使用XSLT3.0处理器,然后您还可以使用XSLT3 snapshot
函数(https://www.w3.org/TR/xslt-30/#func-snapshot)获取包含C
元素(例如//C!root(snapshot())
)的子树的副本,或者如果您想序列化//C!serialize(root(snapshot()))
。
还请参阅http://xslt-3-by-example.blogspot.de/2017/06/extracting-sub-trees-of-document-using.html以获得使用snapshot
的示例(尽管serialize
没有使用)。
https://stackoverflow.com/questions/47040139
复制相似问题