【发布时间】:2022-11-30 10:15:27
【问题描述】:
我将订单数据存储在 XML 中,如下所示,我被要求将其转换为表格。由于这不是我的工作描述的一部分,而且我没有相关资格,所以我要么寻求外部帮助,要么为大约 4000 名客户手动完成。
<Customer Name="John Smith" Method="Credit">
<Order Number="1">
<Item Code="INK001">
<Price>24</Price>
<Details>Quantity: 12</Details>
</Item>
</Order>
<Order Number="2">
<Item Code="PAPER001">
<Price>12</Price>
<Details>Quantity: 240</Details>
</Item>
<Item Code="INK002">
<Price>48</Price>
<Details>Quantity: 24</Details>
</Item>
</Order>
</Customer>
<Customer Name="Jane Doe" Method="Cash">
<Order Number="1">
<Item Code="INK001">
<Price>24</Price>
<Details>Quantity: 12</Details>
</Item>
</Order>
<Order Number="2">
<Item Code="PAPER001">
<Price>12</Price>
<Details>Quantity: 240</Details>
</Item>
<Item Code="INK002">
<Price>48</Price>
<Details>Quantity: 24</Details>
</Item>
</Order>
</Customer>
希望最终得到一张按照所附屏幕截图显示的表格,其中每个客户的每个项目都有自己的行。 据我所知,显然 xQuery 是可行的方法,尽管它仍然没有让我知道从哪里开始。如果有人比我更有经验可以帮助解决这个问题,我将不胜感激。
【问题讨论】:
-
好吧,网上肯定有 XQuery 和 XSLT 教程,对于 XSLT,请参见例如cranesoftwrights.github.io/books/ptux/index.htm。
-
据您所知,我想要的结果是否可能?还是我必须走另一条路?
-
目前尚不清楚您想要的结果应该具有什么格式,但是将输入中的每个
Item映射到(某些 HTML 或 XSL-FO 或 CSV)中的表行,输出当然可以使用 XSLT 或 XQuery。 -
提到的表是否应该是数据库表?
-
Excel 表格或任何其他人类可读和可编辑的内容是所需的结果@YitzhakKhabinsky