我想基于某些条件加入两个XML节点(比如两个表之间的SQL连接)。
示例输入XML:
<Sheet>
<Section>
<Header>
<node>Campaign</node>
<node>Placement</node>
<node>KPI1</node>
<node>KPI2</node>
</Header>
<Data>
<Row>
<value>Products</value>
<value>Banner</value>
<value>123</value>
<value>134</value>
</Row>
<Row>
<value>Products</value>
<value>Popup</value>
<value>234</value>
<value>345</value>
</Row>
<Row>
<value>Products</value>
<value>Other</value>
<value>345</value>
<value>567</value>
</Row>
<Row>
<value>Tour</value>
<value>Banner</value>
<value>123</value>
<value>134</value>
</Row>
<Row>
<value>Tour</value>
<value>Popup</value>
<value>234</value>
<value>345</value>
</Row>
</Data>
</Section>
<Section>
<Header>
<node>Campaign</node>
<node>Placement</node>
<node>KPI41</node>
<node>Spend</node>
</Header>
<Data>
<Row>
<value>Products</value>
<value>Banner</value>
<value>123</value>
<value>2000000</value>
</Row>
<Row>
<value>Products</value>
<value>Popup</value>
<value>234</value>
<value>1000000</value>
</Row>
<Row>
<value>Products</value>
<value>Other</value>
<value>345</value>
<value>2000000</value>
</Row>
<Row>
<value>Tour</value>
<value>Banner</value>
<value>123</value>
<value>12</value>
</Row>
<Row>
<value>Tour</value>
<value>Popup</value>
<value>234</value>
<value>10</value>
</Row>
</Data>
</Section>
</Sheet>
我想基于标题节点广告系列和展示位置加入Section [1]和Section [2](在SQL术语中:SELECT * FROM Section1 S1,Section2 S2 Where S1.Campaign = S2.Campaign AND S1.Placement = S2.Placement
)。我期待加入的XML输出。
预期输出如下:
<Sheet>
<Section>
<Header>
<node>Campaign</node>
<node>Placement</node>
<node>KPI1</node>
<node>KPI2</node>
<node>Campaign</node>
<node>Placement</node>
<node>KPI41</node>
<node>Spend</node>
</Header>
<Data>
<Row>
<value>Products</value>
<value>Banner</value>
<value>123</value>
<value>134</value>
<value>Products</value>
<value>Banner</value>
<value>123</value>
<value>2000000</value>
</Row>
<Row>
<value>Products</value>
<value>Popup</value>
<value>234</value>
<value>345</value>
<value>Products</value>
<value>Popup</value>
<value>234</value>
<value>1000000</value>
</Row>
.......................
like above
...................
</Data>
</Section>
</Sheet>
在XML中实现这一目标的最佳方法是什么? XPATH还是XSLT?
请用最好的方法帮助我。