非常奇怪,对FLASH+XML感兴趣的来看一下:
"type1.xml"文件如下:
<?xml version="1.0" encoding="UTF8"?>
<STONE>
<MODEL>
<picUrl>1</picUrl>
<title>title1</title>
</MODEL>
<MODEL>
<picUrl>2</picUrl>
<title>title2</title>
</MODEL>
<MODEL>
<picUrl>3</picUrl>
<title>title3</title>
</MODEL>
<MODEL>
<picUrl>4</picUrl>
<title>title4</title>
</MODEL>
<MODEL>
<picUrl>5</picUrl>
<title>title5</title>
</MODEL>
</STONE>
在FLASH中一帧的代码为:
stop();
var typesXml = new XML();
typesXml.load("type1.xml");
typesXml.onLoad = readXml;
function readXml()
{
typesXml.ignoreWhite = true;
trace("typesXml.ignoreWhite:" add typesXml.ignoreWhite);
trace("typesXml.status:" add typesXml.status);
trace("typesXml.xmlDecl:" add typesXml.xmlDecl);
trace("typesXml.firstChild.status:" add typesXml.firstChild.status);
trace("typesXml.firstChild.nodeType:" add typesXml.firstChild.nodeType);
trace("typesXml.firstChild.nodeName:" add typesXml.firstChild.nodeName);
trace("typesXml.firstChild.nodeValue:" add typesXml.firstChild.nodeValue);
trace("start readXml");
//typesXml.ignoreWhite = ture;
var xmlFirstChild = typesXml.firstChild;
trace(xmlFirstChild.nodeName);
var n = xmlFirstChild.childNodes.length;
trace("xmlFirstChild.childNodes.length:" add xmlFirstChild.childNodes.length);
//n is the number of pic
for (var i = 0; i<n; i++)
{
trace("xmlFirstChild.childNodes[" add i add "].nodeName:" add xmlFirstChild.childNodes[i].nodeName);
var currentNode = xmlFirstChild.childNodes[i];
trace("xmlFirstChild.childNodes[" add i add "].childNodes[0].nodeName:" add xmlFirstChild.childNodes[i].childNodes[0].nodeName);
trace("xmlFirstChild.childNodes[" add i add "].childNodes[0].nodeType:" add xmlFirstChild.childNodes[i].childNodes[0].nodeType);
trace("xmlFirstChild.childNodes[" add i add "].childNodes[0].nodeValue:" add xmlFirstChild.childNodes[i].childNodes[0].nodeValue);
trace("xmlFirstChild.childNodes[" add i add "].childNodes[0].childNodes[0].nodeName:" add xmlFirstChild.childNodes[i].childNodes[0].childNodes[0].nodoName);
trace("xmlFirstChild.childNodes[" add i add "].childNodes[0].childNodes[0].nodoValue:" add xmlFirstChild.childNodes[i].childNodes[0].childNodes[0].nodoValue);
trace("xmlFirstChild.childNodes[" add i add "].childNodes[1].nodeName:" add xmlFirstChild.childNodes[i].childNodes[1].nodeName);
trace("xmlFirstChild.childNodes[" add i add "].childNodes[1].nodeValue:" add xmlFirstChild.childNodes[i].childNodes[1].nodeValue);
}
}
运行后的结果:
typesXml.ignoreWhite:true
typesXml.status:0
typesXml.xmlDecl:<?xml version="1.0" encoding="UTF8"?>
typesXml.firstChild.status:
typesXml.firstChild.nodeType:3
typesXml.firstChild.nodeName:null
typesXml.firstChild.nodeValue:
start readXml
null
xmlFirstChild.childNodes.length:0
现在有个问题:既然typesXml.firstChild.nodeType为3,那么typesXml.firstChild.nodeValue就应该有值吧,怎么是一些空白呢?请高手指点!