【发布时间】:2019-12-11 21:10:56
【问题描述】:
我需要一种方法来解析 XML 文件并将某些节点与其兄弟节点链接起来。例如,在这个 XML(不是我的实际数据,只是一个示例)中,我试图将所有 RecordDetail 节点与前面的 RecordHeader 链接。
XML:
<RecordSet>
<RecordHeader>
<Record_ID>HE7</Record_ID>
<DetailRecords>2</DetailRecords>
</RecordHeader>
<RecordDetail>
<Product_ID>1-1X00</Product_ID>
<Quantity>5</Quantity>
</RecordDetail>
<RecordDetail>
<Product_ID>1-3788</Product_ID>
<Quantity>1</Quantity>
</RecordDetail>
</RecordSet>
预期输出:
Product_ID Record_ID
----------------------
1-1X00 HE7
1-3788 HE7
我可以用下面的表达式得到兄弟节点,但它只列出一次:
//RecordDetail/preceding-sibling::RecordHeader/Record_ID/node()
有没有办法列出每个 RecordDetail 节点,并附上它之前的RecordHeader 节点?
总会有一个记录头,后面跟着任意数量的 RecordDetail 节点。
【问题讨论】: