Tôi đang cố gắng chuyển đổi XML thành JSON trong node.js bằng cách sử dụng mô-đun xml2js. Làm cách nào để xử lý bí danh không gian tên khi truy cập các biến?XML thành JSON - xử lý các không gian tên và bí danh xml trong JavaScript
Mã sau chuyển đổi tập tin của tôi (sampleWithNamespaces.xml)
var fs = require('fs'),
xml2js = require('xml2js');
var parser = new xml2js.Parser();
fs.readFile('sampleWithNamespaces.xml', function (err, data) {
parser.parseString(data, function (err, result) {
console.dir(result);
console.log('Done');
});
});
sampleWithNamespaces.xml:
<d:student xmlns:d='http://www.develop.com/student'>
<d:id>3235329</d:id>
<d:name>Jeff Smith</d:name>
<d:language>JavaScript</d:language>
<d:rating>9.5</d:rating>
</d:student>
Output:
$ node xml2jsTest.js
{ '@': { 'xmlns:d': 'http://www.develop.com/student' },
'd:id': '3235329',
'd:name': 'Jeff Smith',
'd:language': 'JavaScript',
'd:rating': '9.5' }
Done
tôi có thể truy cập vào 'tên' thuộc tính bằng cách sử dụng ký hiệu result['d:name']
thay vì result.name
nếu tôi không có ký hiệu ông không gian tên bí danh. Tôi đoán câu hỏi của tôi là, tôi đang làm điều này đúng cách?
Tôi đã read rằng "Nếu phần tử có bí danh không gian tên, bí danh và phần tử được nối bằng cách sử dụng" $ ". Ví dụ: phần tử ns: trở thành phần tử ns $" Nếu tôi làm điều này tôi có thể đọc thuộc tính result.d$name
. Nếu tôi đi tuyến đường này, tôi sẽ làm như thế nào?