我想通過使用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錯誤。有任何想法嗎?感謝名單!
什麼是你的方法 「獲得 '$' 出來的價值」?你會得到什麼樣的語法錯誤?你能否提供更多的信息 – shaochuancs