1

我有一个 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。我究竟做错了什么。请帮忙。期待您的解决方案。

4

1 回答 1

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

于 2013-11-01T07:51:42.487 回答