我一直在嘗試使用Coldfusion將製作XML文件作爲製表符分隔文件。我想知道是否有人可以幫我解決這個問題。XML到製表符分隔文件
我的XML可以是具有多個子節點的多個節點。我可以制定維護每個子節點的選項卡數量然後將其恢復到起點的邏輯。
是否有任何特定的遞歸算法,我不知道?
XML是這樣的 -
<?xml version="1.0" encoding="UTF-8"?>
<I BMSMETA_AUTOMETASET_4_OPTIONS="Personnel"
id="b02bfa5f-f2d0-45ac-99e0-9e4e12416db1">
<I BMSMETA_AUTOMETASET_4_OPTIONS="Ranks"
id="c25d4732-862b-4dc4-835e-eb167f63a114">
<I BMSMETA_AUTOMETASET_4_OPTIONS="Army"
id="7a54176d-38f9-4753-bb93-60649e70ddb1">
<I BMSMETA_AUTOMETASET_4_OPTIONS="Field Marshall (Fd Marshall) (FM)"
id="5d311b9d-8d6e-4fa8-8933-a643bf55143d" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="General (Gen)"
id="56d3aae4-7da9-4940-9692-e1ad90584127" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Lieutenant General (Lt Gen)"
id="0f1bb73b-39ae-4920-9d23-2c92d543ef37" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Major General (Maj Gen)"
id="9f269157-fde9-4ea4-ae1e-65344d56388e" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Brigadier (Brig)"
id="33e15bd2-aa5e-4a99-8096-821568bf7156" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Colonel (Col)"
id="fa38285d-2319-4e43-9207-3c4080497118" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Lieutenant Colonel (Lt Col) (CO)"
id="9fab6b6a-c4b1-4b5d-a051-8c22260f3225" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Major (Maj) (OC)"
id="9c232a00-1e54-427f-9fdf-73aa50f4c49e" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Captain (Capt) (SO3)"
id="18043ea4-d9cd-41cd-9a5c-851de350b397" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Lieutenant (Lt)"
id="9dfc1631-e49d-48e7-ad47-7ce41da36cdf" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Second Lieutenant (2nd Lieutenant) (2Lt)"
id="4f423559-b2a6-4164-8718-b7fce8180331" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Subaltern"
id="38f33ead-17d3-4358-8fc4-1e03ee46008a" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Cornet (Cnt)"
id="59ed6193-4e6a-413f-92da-cb37508bc637" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Officer Cadet (Ocdt)"
id="bfb6ab3a-13e5-46c0-82e7-0d63b794b4f6" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Junior Under Officer (JUO)"
id="dfe840e8-421a-4017-9066-429e7b3778ed" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Senior Under officer (SUO)"
id="52f083f3-0826-4b25-be68-3cefd8561e15" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Conductor (Cdtr)"
id="3ed346d3-0248-40f7-bcfb-ba9b8dabe02f" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Non Commissioned Officer (NCO)"
id="c0b0af29-f6c6-47f0-8a49-27514d78a55d" />
<I BMSMETA_AUTOMETASET_4_OPTIONS="Senior Non Commissioned Officer (SNCO)"
id="aeaa3bcf-b104-4261-8a5b-652bdd4b8531" />
</I>
</I>
和TSV文件我想shud b類似這樣 -
Personnel
Ranks
Army
Field Marshall (Fd Marshall) (FM)
General (Gen)
Lieutenant General (Lt Gen)
Major General (Maj Gen)
Brigadier (Brig)
Colonel (Col)
Lieutenant Colonel (Lt Col) (CO)
Major (Maj) (OC)
Captain (Capt) (SO3)
Lieutenant (Lt)
Second Lieutenant (2nd Lieutenant) (2Lt)
Subaltern
Cornet (Cnt)
Officer Cadet (Ocdt)
Junior Under Officer (JUO)
Senior Under officer (SUO)
Conductor (Cdtr)
Non Commissioned Officer (NCO)
Senior Non Commissioned Officer (SNCO)
僅供參考,嚴格來講你問的是不是一個TSV - 格式化文件,而是一份報告。 TSV意味着你的內容是以表格的形式存在的,表中每一行中的每個值都由製表符(而不是逗號)分隔。 – 2012-02-01 18:21:40
什麼版本的CF? – 2012-02-01 18:22:09