2013-03-25 31 views
0

有誰知道如何使用jQuery或其他DOM庫將有效的XML字符串轉換爲JavaScript對象而不使用一種將XML字符串轉換爲不帶jQuery的JavaScript對象的方法?

我想這樣做只是在JavaScript的原因是因爲這是所有服務器端,不會有什麼特定的瀏覽器。

只是爲了再強調 - 這不是客戶端JavaScript。它是服務器端。

感謝,

道格

+0

你可以顯示一些相關的代碼,可能是你想轉換爲JS對象的XML .. – 2013-03-25 04:05:16

+1

你使用什麼服務器端環境?犀牛? Node.js的答案會有所不同,具體取決於你的翻譯(就像在網頁瀏覽器呃?) – slebetman 2013-03-25 04:05:22

+0

Javascript是客戶端。我強烈建議使用JSON來代替,但這裏有一些參考:http://w3schools.com/xml/xml_to_html.asp – Zachrip 2013-03-25 04:08:37

回答

0

我懷疑約翰·保羅·卡德納斯在評論片段是你要得到最接近的一次。希望您可以在您特定的服務器端環境中找到DOM庫,我不熟悉您描述的平臺。

假設您可以找到類似於DOMParser的東西(請參閱http://www.w3schools.com/dom/dom_parser.asp瞭解關於JS中XML解析的更多信息),這是我知道開始的最佳方式。

當然,從那裏開始,您將通過遍歷DOM樹來手動解析代碼。這是因爲沒有將XML轉換爲JSON的標準方法;他們不完全直接兼容。例如,XML節點具有屬性; JSON不會。您如何處理細微差別取決於您特定的XML模式以及您特定項目的需求。

0

我試圖尋找Webcrossing但現在看來,他們沒有對產品的在線文檔。我想你必須付錢才能得到這個有點意外的文檔,因爲現在即使是商業產品,也有免費的在線文檔 - 開發人員將如何評估產品?

如果您有機會獲得的文件(你應該因爲你/你的僱主爲它支付),我建議找了如何在文檔處理XML。 Webcrossing聲稱已經構建了XMLRPC功能,這應該意味着內置的XML解析功能。

大多數JavaScript引擎,內置了這樣的事情往往會落實DOM解析器將XML轉換成一個DOM對象。這樣做的好處是,你可以使用熟悉的DOM操作,如getElementById()getElementsByTagName()element.children等遍歷和處理XML文檔。這樣做的缺點是您需要使用上面的詳細DOM操作來遍歷和處理XML文檔。

但是,如果Webcrossing不提供內置XML解析器(這是不可能的,因爲它支持XML-RPC),你的下一個最好的選擇是端口超過Node.js的模塊。有些XML相關的模塊在這裏列出:

https://github.com/joyent/node/wiki/modules#wiki-parsers-xml

上述名單並不詳盡。對於一個完整的列表,你可以搜索結果,故宮註冊表:

https://npmjs.org/

從上谷歌快速搜索,它看起來對我說,你最好的選擇將是端口該模塊(這是偶然沒有在維基上市):

https://github.com/nfarina/xmldoc

的xmlDoc中,模塊的獨特之處是被設計在節點以及網絡瀏覽器。所以它可能有更好的移植的機會。

無論如何,請先閱讀您的文檔(或聯繫Webcrossing的技術支持)。

+0

首先聲明 - 我參與Webcrossing。我已經使用了很長時間,並且是組織中的一項原則。所以我只想澄清一點。也就是說,該文檔可在http://faq.elliptics.com/FAQ/Docs/上在線。正如您所指出的那樣,Webcrossing既可以作爲XML-RPC客戶端,也可以作爲服務器。這實際上很容易,很酷。您可以撥打和接聽電話,而無需實際創建或查看XML。它是完全透明的。無論如何,我正在查看服務器中可用的內容。顯然有一個xmlToObject方法。 – 2013-03-25 06:21:54