我是xml和xsl的新手,所以我會嘗試解釋我的問題。 我有這種類型的XML,它是屬性爲中心的,這些不會導入到Access。如何將屬性數據轉換爲元素數據? 這裏是XML的一部分,我有:如何將屬性xml轉換爲元素xml以便在Access中導入而不丟失數據
<?xml version="1.0" encoding="ISO-8859-1"?>
<Catalogue version="3.0">
<App action="A" id="1">
<BaseVehicle id="1"/>
<Note>Use Separate Enclosed Connector</Note>
<Note>Slightly longer than original</Note>
<Qty>1</Qty>
<PartType id="8852"/>
<MfrLabel>CleanWipe</MfrLabel>
<Position id="104"/>
<Part>18CW</Part>
</App>
<App action="A" id="2">
<BaseVehicle id="1"/>
<BodyType id="6"/>
<Note>Use Separate Enclosed Connector</Note>
<Qty>1</Qty>
<PartType id="8852"/>
<MfrLabel>SuperWipe</MfrLabel>
<Position id="30"/>
<Part>22SW</Part>
</App>
</Catalogue>
這是我用來導入XML到Access 的XSL(我真的不明白它是如何工作的,我發現它在這裏stackflow):
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
問題是我失去了應用程序ID。有沒有一種方法可以在Access中導入這些數據並在一列中添加App ID? 另外我有一個「註釋」行問題,因爲每個「應用程序」有多個註釋行,我無法導入所有註釋行。你有沒有建議如何導入這個XML而不會丟失任何數據? 謝謝大家!
編輯: 這裏是清單在Access導入之後我想到:
ID BaseVehicle注意數量PartType MfrLabel位置部件體形
1比原來的1 8852略長CleanWipe 104 18CW
1 1使用分開的封閉連接器1 8852 CleanWipe 104 18CW
2 1使用獨立的封閉連接器1個8852 SuperWipe 30 22SW 6
或者是這樣的:
ID BaseVehicle注意數量PartType MfrLabel位置部分體形
1 1稍長.. +使用單獨ë.. 1 8852 CleanWipe 104 18CW
2 1使用獨立的封閉連接器1 8852 SuperWipe 30 22SW 6
問題是我不能使它導入列ID和組合筆記或在一個單獨的行中導入非第一筆記...
在這種情況下是否可以顯示您實際期望的輸出?謝謝! – 2014-10-01 13:58:27
可能重複[convert attribute-centric xml to element-centric](http://stackoverflow.com/questions/22445975/convert-attribute-centric-xml-to-element-centric) – 2014-10-01 14:08:17
你好,我補充說我怎麼做期望一個表格看起來像xml被導入時。我也讀過Gord提到的話題,從那篇文章中我拿出了我在這裏寫的xsl。但它並不完全適用於我的問題。 – Skaki 2014-10-02 08:52:57