2016-09-21 61 views
0

我想通過使用xml2parsing提取數據來創建自定義json。到目前爲止,我有這樣的:xml2js解析 - 如何提取元數據屬性值?

function createCustomJson(d{ 

    let dataFromXml = ""; 
    parseString(d, {trim: true}, function (err, result) { 
     dataFromXml = JSON.stringify(result); 
    }); 
    let dataJson = { data: [] }; 
    let dataObj = JSON.parse(dataFromXml); 
    let dataForJson = dataObj.dataset.data[0]; 
    let metadataForJson = dataObj.dataset.metadata[0];   

    let pom = {}; 
    for (var i = 0; i < dataForJson.row.length; i++) { 
     for (var j = 0; j < dataForJson.row[0].value.length; j++) { 

      pom["METADATA-ATTR-NAME"] = dataForJson.row[i].value[j]; 
     } 
     dataJson.data.push(pom); 
    } 

    let json = JSON.stringify(dataJson); 
} 

XML:

<?xml version="1.0" encoding="utf-8"?> 
<dataset xmlns="http://example.com" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"> 
    <metadata> 
      <item name="DATA_1" type="xs:string" length="2102"/> 
      <item name="DATA_2" type="xs:string" length="24"/> 
    </metadata> 
    <data> 
     <row> 
      <value>active</value> 
      <value>whatever</value> 
     </row> 
    </data> 
</dataset> 

我能夠從「數據」提取所有的值,但不知道如何獲得元數據項的名稱(DATA_1和_2)。

在執行console.log,爲

metadataForJson.item[0] 

我得到

{ '$': { name: 'DATA_1', type: 'xs:string', length:'2102'} } 

不知道怎麼去 '$' 的價值了,它總是給我sintax錯誤。有任何想法嗎?感謝名單!

+0

什麼是你的方法 「獲得 '$' 出來的價值」?你會得到什麼樣的語法錯誤?你能否提供更多的信息 – shaochuancs

回答