我有一个xml:
<ns1:GetStudentDataCollection xmlns:ns1="http://tempuri.org/">
<ns1:GetStudentData>
<ns1:RecordID>1</ns1:RecordID>
<ns1:StudentID>1</ns1:StudentID>
<ns1:StudentName>Arzon</ns1:StudentName>
<ns1:Class>2</ns1:Class>
<ns1:FathersName>Peter John</ns1:FathersName>
<ns1:MothersName>Maria John</ns1:MothersName>
</ns1:GetStudentData>
</ns1:GetStudentDataCollection>
这个xml在一个变量中,我将其转换为xmlDoc:
var xmlDoc=StringtoXML(xmlString);
//获取xmlDoc后我试图读取xml内容 的ReadXml(xmlDoc中);
//converts string to xml
function StringtoXML(text){
if (window.ActiveXObject){
var doc=new ActiveXObject('Microsoft.XMLDOM');
doc.async='false';
doc.loadXML(text);
} else {
var parser=new DOMParser();
var doc=parser.parseFromString(text,'text/xml');
}
return doc;
}
在Readxml()函数中,我这样做:
function Readxml(xmlDoc) {
x = xmlDoc.getElementsByTagName('RecordID');
console.log(x.length);
alert("Value of x is : " + x);
}
但是,当我运行上述事情时,我没有得到x的任何值。所以这意味着我无法解析这个xml。我究竟做错了什么。请帮忙。期待您的解决方案。
答案 0 :(得分:0)
您可以在jQuery库的帮助下解析xml。
var xml = ['<ns1:GetStudentDataCollection xmlns:ns1="http://tempuri.org/">',
'<ns1:GetStudentData>',
'<ns1:RecordID>1</ns1:RecordID>',
'<ns1:StudentID>1</ns1:StudentID>',
'<ns1:StudentName>Arzon</ns1:StudentName>',
'<ns1:Class>2</ns1:Class>',
'<ns1:FathersName>Peter John</ns1:FathersName>',
'<ns1:MothersName>Maria John</ns1:MothersName>',
'</ns1:GetStudentData>',
'</ns1:GetStudentDataCollection>'].join('');
console.log( $( xml ).find('ns1\\:RecordID').text() )
打印1
。