1
通常,需要使用Excel VBA解析從XML中匹配某些過濾條件的輸入。複雜性在於多級XML屬性及其配對結果,必須在Excel內依次填充。使用Excel VBA解析多級XML輸入
XML內容如下:
<Flow index="1" item="1" itemName="BB_150" ID="XXX">
<Attribute name="FUNCTIONAL_X" dataType="Double" unit="" multiplier="" tag="YY">1</Attribute>
<Attribute name="X_LOC" dataType="String" unit="" multiplier="" tag="YY">2</Attribute>
</Flow>
<Flow index="2" item="2" itemName="CC_200" ID="WWW">
<Attribute name="FUNCTIONAL_X" dataType="Double" unit="" multiplier="" tag="YY">15</Attribute>
<Attribute name="X_LOC" dataType="String" unit="" multiplier="" tag="YY">3</Attribute>
</Flow>
<Flow index="3" item="3" itemName="DD_200" ID="UUU">
<Attribute name="FUNCTIONAL_X" dataType="Double" unit="" multiplier="" tag="YY">20</Attribute>
<Attribute name="X_LOC" dataType="String" unit="" multiplier="" tag="YY">1</Attribute>
</Flow>
<Flow index="4" item="4" itemName="EE_115" ID="SSS">
<Attribute name="FUNCTIONAL_X" dataType="Double" unit="" multiplier="" tag="YY">33</Attribute>
<Attribute name="X_LOC" dataType="String" unit="" multiplier="" tag="YY">2</Attribute>
</Flow>
- 我怎麼只讀那些節點開始在XML屬性?
- 一旦選定了所有屬性的節點,就會開始在Excel VBA中進一步解析。首先,查找name = X_LOC並獲取值。
- 然後,查找名稱= FUNCTIONAL_X並檢索值。
- 現在,需要將所有這些值放入工作表'結果'的Excel列中。輸出的格式到Excel如下:
列標題名稱= X_LOC(排序並以升序顯示) 行結果(與柱A..then繼續下一column..etc開始)(開頭row1..then row2..etc)= FUNCTIONAL_X(每個配對X_LOC)
結果填充到Excel應該如下:
A B C D (Excel column)
1 2 3 4 (X_LOC value)
A1 B1 C1 D1 (Excel Row)
1 15 20 33 (FUNCTIONAL_X value)
注:如果有相同值的重複的X_LOC,什麼也不做。保留其FUNCTIONAL_X值的現有X_LOC &。不需要覆蓋。
感謝,Jean..will閱讀。創建excel宏是該任務的一個要求,這是該函數的一部分。到目前爲止,我已經設法加載XML(在論壇上的好人samaritan的幫助下),並過濾掉了我需要的那些屬性的值。但是,仍然出現錯誤將它們存儲到多維數組中,我試圖錨定X_LOC。 – LeenNew 2011-03-09 03:45:16
聲明:昏暗的xmlDoc中作爲DOM文檔 昏暗節點的IXMLDOMNodeList 昏暗N作爲IXMLDOMNode 設置xmlDoc中=新的DOMDocument我創建設置節點= xmldoc.SelectNodes(「//屬性」) - 找到包含「屬性」的所有節點。有人可以幫助告訴我如何過濾標準的格式,如果我想要檢索節點之一,讓我們說從該節點列表調用節點的名稱= X_LOC。 – LeenNew 2011-03-10 00:08:51