1
我有一個javascript函數,我嘗試讀取XML文件。xml childNotes瀏覽器上的計數有所不同
function readXML()
{
alert("readXML");
if(xmlDoc.readyState == 4 || xmlDoc.readyState == 'complete')
{
for(var i=0; i < xmlDoc.getElementsByTagName("Question").length; i++)
{
var CurrentTuple = xmlDoc.getElementsByTagName("Question")[i];
var QuestionID = CurrentTuple.attributes.getNamedItem("QuestionID").value;
var CorrectAnswer = CurrentTuple.attributes.getNamedItem("CorrectAnswer").value;
alert(QuestionID +":"+ CorrectAnswer);
var OutputDisplayString = "";
for(var j=0; j< CurrentTuple.childNodes.length; j++)
{
//alert(CurrentTuple.childNodes[j].nodeName);
OutputDisplayString += CurrentTuple.childNodes[j].nodeName;
OutputDisplayString += "\n";
}
alert(OutputDisplayString);
}
}
}
對於XML文件...
<?xml version="1.0" encoding="ISO-8859-1"?>
<Exam>
<Question QuestionID="Q001" CorrectAnswer="A">
<Description>Does a final member variable have to be initialized at the time it's declared?</Description>
<AnswerA>No</AnswerA>
<AnswerB>Yes</AnswerB>
<AnswerC></AnswerC>
<AnswerD></AnswerD>
</Question>
</Exam>
那麼,請讓我帶的輸出結果 「警報(OutputDisplayString);」與Firefox。
#text
Description
#text
AnswerA
#text
AnswerB
#text
AnswerC
#text
AnswerD
#text
讓我來比較我使用IE獲得的結果。
---------------------------
Message from webpage
---------------------------
Description
AnswerA
AnswerB
AnswerC
AnswerD
---------------------------
OK
---------------------------
所以,我想知道是什麼,是#text我得到儘可能從Firefox的結果。
然後通過獲取此#text結果,我無法評估「CurrentTuple.childNodes.length」childNotes的確切計數。
請讓我知道發生了什麼的結果#text通過Firefox。
我怎樣才能得到正確的childNotes計數。
只是爲了補充一點,微軟在這裏幾乎沒有什麼特別的地方:標準非常清楚,應該向應用程序報告空白,除了微軟之外,每個XML解析器似乎都這樣做。對於面向數據的XML來說,空格可能看起來不相關,但是當處理文檔時,它變得很重要。 –