我想類似下面的使用XSLT輸出的東西XSLT元素名稱作爲字符串
XML:
<myroot>
<node1>
<subnode1>somestuff</subnode1>
<subnode2>otherstuff</subnode2>
</node1>
<node2>
<subnode2></subnode2>
<subnode3>stuff here</subnode3>
</node2>
<node3>
<subnode>stuff</subnode>
<subnode>stuff</subnode>
<subnode>other</subnode>
</node3>
</myroot>
在哪裏,我不知道一個給定的實例節點名稱。
我希望我的輸出看起來像這樣:
myroot = new jsonObject();
myroot.node1 = new jsonObject();
myroot.node1.subnode1 = "holder";
myroot.node1.subnode2 = "holder";
myroot.node2 = new jsonObject();
myroot.node2.subnode2 = "holder";
myroot.node2.subnode3 = "holder";
myroot.node3 = new jsonObject();
myroot.node3.subnode = new array();
"arraystart"
myroot.node3.subnode[aindex] = new jsonObject();
myroot.node3.subnode[aindex] = "holder";
"endarray"
要點:
- = 「持有人」;可以是任何東西獨一無二的,因爲我將稍後對此進行更改
- 「arraystart」和「endarray」可以是任何 獨一無二的,因爲我會改變這 後來
- 我不知道具體的節點名稱 超越了根。
- 我不知道樹 (6-7一些深存在)
- 我不知道號碼或位置 或數組元素的深度,但孩子 節點(元素)是同一名稱那些團體。
- 可能存在多個陣列,並且 可能處於任何樹深度。
- 元素文本沒有子 節點
有一件事讓我深深的關注你的XML:你不知道根之外的特定節點名稱。這是非常糟糕的XML設計,儘管從它的聲音來看,這不是您的選擇。如果您可以更改/說服某人將其更改爲而不是(例如),它會使事情變得更容易。主要原因是您無法可靠地爲這些節點創建模板;它將不得不成爲一個全面的模板,而不是專門尋找'節點'元素。 –
Flynn1179
2010-07-12 21:41:35
實際上,真正的XML更大,沒有數字。其中有些是已知的,但爲此目的,我需要一個通用的解決方案,它是一個更大的應用程序的一部分,因此這種方法非常適合於手頭的目的。 – 2010-07-13 17:37:34
注意自我:使用http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog進行測試時,硬性限制爲5023個字符的XML,如果失敗,則不會有任何警告(空輸出)。 – 2010-07-13 17:39:03