2013-07-16 53 views
0

我有數據集與此類似:我該如何解析JavaScript中的類XML數據?

<NDL> 
<REPLICA 4925770B:0025BA85> 
<VIEW OF64623968:A2336DB0-ON49256C46:002ACF42> 
<NOTE OFA52D3E8C:0ED3F84A-ON605F586A:5D1C1FAA> 
<HINT>CN=YW8LN6/O=TDK-JP</HINT> 
<REM>Database 'Shunya Sato', View '受信ボックス', Document '[Requirement management system - Feature #125] (New) Collect example of LN link'</REM> 
</NDL> 

我需要檢索由<HINT>標籤包圍的內容,並在和標籤的僞屬性。有沒有一些lib可以幫助我解決這個問題,或者是希望一切都能按照這個順序並使用split/find/other內置的東西的最好方法?

+0

檢查http://stackoverflow.com/questions/12032562/how-to-fetch-the-child-node-with-given-criteria-in-javascript-dom-api – elclanrs

+2

問題是,這是不好的形式的XML。 – Glycan

+0

@elclanrs這不會工作,因爲這不是XML。 – 2013-07-16 23:39:06

回答

1

不幸的是,除非你寫一個自定義的解析器,可以把你有什麼成XML,你將無法使用任何傳統的XML庫讀取數據。人們可以通過HTML執行XML查詢的唯一原因是,有明確定義的將HTML轉換爲DOM的方式,然後可以將其轉換爲XML。你的數據也不能這麼說。

雖然您的數據可能類似於XML,但它唯一共同的地方是使用<>來分隔字段。因此,使用字符串搜索和分割來獲取所需的字段可能會更好。

+0

與此相關的,Python有一個非常有用的sequance拆包特徵,像這樣:'firstLine中,二線= data.split( 「\ n」,1)'。在JavaScript中是否有與此相同的內容? – Glycan

+1

@Glycan:該'split'函數[已](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split),解構分配[不支持到處(https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7#Destructuring_assignment_(Merge_into_own_page.2Fsection)),並且看起來有點不同。 – Bergi