0
我有一个结果集结构,如更改XML节点结构
<ResultSets>
<ResultSet rowCount="100">
<Row>
<InvoiceNr>12345</InvoiceNr>
<InvoiceItem>0</InvoiceItem>
<Year>2014</Year>
<Month>201401</Month>
<Week>201402</Week>
<ItemCategory/>
<BillingType/>
<BPCodeSoldTo>123456</BPCodeSoldTo>
<BPCodeShipTo/>
</Row>
<Row>
<InvoiceNr>123452</InvoiceNr>
<InvoiceItem>1</InvoiceItem>
<Year>2014</Year>
<Month>201401</Month>
<Week>201402</Week>
<ItemCategory/>
<BillingType/>
<BPCodeSoldTo>123452</BPCodeSoldTo>
<BPCodeShipTo/>
<BPCodeBillTo/>
</Row>
</ResultSet>
</ResultSets>
我需要的结构改变为
<io>
<row>
<col>12345</col>
<col>0</col>
<col>2014</col>
<col>201401</col>
<col>201402</col>
<col/>
<col/>
<col>123456</col>
<col/>
<col/>
</row>
<row>
<col>123452</col>
<col>1</col>
<col>2014</col>
<col>201401</col>
<col>201402</col>
<col/>
<col/>
<col>123452</col>
<col/>
<col/>
</row>
</io>
我有做它现在(这是不实际代码,但只是一个想法),它的工作原理。但是,有没有一种方法可以不显式地标识列标签名称,并有一个只是捕获所有子标签并将其放入值结构的语句?
<row>
<xsl:foreach../RecordSets/RecordSet/Row>
<col>
<xsl:value of select = "InvoiceNr"/>
</col>
<col>
<xsl:value of select = "InvoiceItem"/>
</col>
<col>
<xsl:value of select = "Year"/>
</col>
<col>
<xsl:value of select = "InvoiceNr"/>
</col>
....
</xsl:foreach>
</row>
***另一个问题。在我原来的结构中。我可能有ResultSets/ResultSet或Just ResulSet(取决于它所运行的查询的类型)如何忽略它,只是说ResultSets/ResultSet/Row或ResultSet/Row会起作用?
辉煌,是否有任何好书或资源来学习呢?我真的需要快速抓住XSLT和XPATH。 但无论如何。非常感谢! – user3379902
@ user3379902我确定有,但我不是正确的人。 –
哦..还有一件事。无论如何要排除语句中的某个标签。例如,选择除了如果tagname = ? –
user3379902