使用javascript从XML文件获取测验应用程序的属性
我正在构建一个测验应用程序,并将问题和答案保存在XML文件中。我已经知道如何从XML文件中解析单个问题或答案。现在我想检查XML文件中的一些属性。在我的项目中,我想检查“类型”,看看我有什么样的问题。并且应该检查答案的“correct=”true“,以找到正确的答案 我尝试使用“getAttribute(“type”)或“getElementsByTagName(“item”)创建一些东西,但它不起作用 Javascript测试部分如下所示:使用javascript从XML文件获取测验应用程序的属性,javascript,xml,xml-parsing,getelementsbytagname,getattribute,Javascript,Xml,Xml Parsing,Getelementsbytagname,Getattribute,我正在构建一个测验应用程序,并将问题和答案保存在XML文件中。我已经知道如何从XML文件中解析单个问题或答案。现在我想检查XML文件中的一些属性。在我的项目中,我想检查“类型”,看看我有什么样的问题。并且应该检查答案的“correct=”true“,以找到正确的答案 我尝试使用“getAttribute(“type”)或“getElementsByTagName(“item”)创建一些东西,但它不起作用 Javascript测试部分如下所示: const path = require('path
const path = require('path');
const fs = require('fs');
const xml2js = require('xml2js');
const util = require('util');
var parseString = require('xml2js').parseString;
var parser = new xml2js.Parser({
normalize: true,
trim: true,
ignoreAttrs: true
});
var xml = fs.readFileSync('myFile.xml', 'utf8');
parser.parseString(xml, function (err, result) {
var obj = result.itemBox.items[0].item[0].answers[0].answer[0];
console.log(JSON.stringify(obj));
var explanation = result.itemBox.items[0].item[0].explanation[0].div[0].div[0].div[0];
console.log(JSON.stringify(explanation));
});
<itemBox>
<name></name>
<author></author>
<description><div><p></p></div></description>
<items>
<item id="1" type="MultipleChoice">
<name></name>
<question><div>
<div>Question?</div>
</div></question>
<answers>
<answer number="0">
Answer1
</answer>
<answer number="1">
Answer2
</answer>
<answer number="2">
Answer3
</answer>
<answer correct="true" number="3">
Answer4
</answer>
</answers>
<explanation><div>
<div>
<div>
...
</div>
</div>
</div></explanation>
</item>
</items>
</itemBox>
每个问题部分(问题、4个答案和一个解释)我都有一个项目(带“id”)
XML如下所示:
const path = require('path');
const fs = require('fs');
const xml2js = require('xml2js');
const util = require('util');
var parseString = require('xml2js').parseString;
var parser = new xml2js.Parser({
normalize: true,
trim: true,
ignoreAttrs: true
});
var xml = fs.readFileSync('myFile.xml', 'utf8');
parser.parseString(xml, function (err, result) {
var obj = result.itemBox.items[0].item[0].answers[0].answer[0];
console.log(JSON.stringify(obj));
var explanation = result.itemBox.items[0].item[0].explanation[0].div[0].div[0].div[0];
console.log(JSON.stringify(explanation));
});
<itemBox>
<name></name>
<author></author>
<description><div><p></p></div></description>
<items>
<item id="1" type="MultipleChoice">
<name></name>
<question><div>
<div>Question?</div>
</div></question>
<answers>
<answer number="0">
Answer1
</answer>
<answer number="1">
Answer2
</answer>
<answer number="2">
Answer3
</answer>
<answer correct="true" number="3">
Answer4
</answer>
</answers>
<explanation><div>
<div>
<div>
...
</div>
</div>
</div></explanation>
</item>
</items>
</itemBox>
问题?
答复1
答复2
答复3
答复4
...