我是XSL新手,正在寻求解决某些问题的方法。我有XML是这样的:如何使用xslt创建层次结构
<Table>
<Row Id="1">
<Field1>"P_907"</Field1>
<Field2>"5912"</Field2>
<Field3>"2013/05/31"</Field3>
<Field4>"2013/05/31"</Field4>
</Row>
<Row Id="2">
<Field1>"2.1.1.M5"</Field1>
</Row>
<Row Id="3">
<Field1>"3.1.1.M5"</Field1>
</Row>
<Row Id="4">
<Field1>"P_908"</Field1>
<Field2>"5913"</Field2>
<Field3>"2013/05/31"</Field3>
<Field4>"2013/05/31"</Field4>
</Row>
<Row Id="5">
<Field1>"3.11.M2"</Field1>
</Row>
</Table>
当行ID = 1和行ID = 4发票标题和剩余行的发票行。每张发票标题在field1中都有其ID,但发票行中没有发票ID。我知道当行中没有field3时,表示该行是发票行。在其他情况下,它是发票标题。标题行之前的每一行都属于之前的标题行。如何使用xslt创建具有适当发票层次结构的xml?
输出XML可以是这样的:
<Invoice>
<Field1>"P_907"</Field1>
<Field2>"5912"</Field2>
<Field3>"2013/05/31"</Field3>
<Field4>"2013/05/31"</Field4>
<Row>
<Field1>"2.1.1.M5"</Field1>
</Row>
<Row>
<Field1>"3.1.1.M5"</Field1>
</Row>
</Invoice>
<Invoice>
<Field1>"P_908"</Field1>
<Field2>"5913"</Field2>
<Field3>"2013/05/31"</Field3>
<Field4>"2013/05/31"</Field4>
<Row>
<Field1>"3.11.M2"</Field1>
</Row>
</Invoice>
它更容易帮助你得到想要的结果,如果你补充一点,你想拥有你的问题输出XML。 – 2015-02-17 22:04:40
可能是这样的: “P_907” “5912” “2013年5月31日” “2013年5月31日” “2.1.1.M5”
“3.1.1。M5"
“P_908” “5913” “2013年5月31日” “2013年5月31日” “3.11.M2”
–
pepkas
2015-02-17 22:15:11
这是一个*分组*问题(做一个搜索)。如果你是usi,答案会非常不同ng XSLT 1.0或2.0。 – 2015-02-17 22:56:40