非常奇怪,对FLASH+XML感兴趣的来看一下:

chengrg 2003-08-23 09:55:16
"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就应该有值吧,怎么是一些空白呢?请高手指点!
...全文
72 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cer 2003-10-18
  • 打赏
  • 举报
回复
请问一下flash中是否可以用xsl格式化xml文档?象在IE中一样?
jszcy 2003-08-29
  • 打赏
  • 举报
回复
typesXml.ignoreWhite = true;
放的地方不对,不放在readXml里.应该就能发挥作用了
chengrg 2003-08-28
  • 打赏
  • 举报
回复
up!
chengrg 2003-08-24
  • 打赏
  • 举报
回复
这个问题我已经解决。不过我还有疑问:帮助中写到“如果 XML 对象为文本节点,则 nodeType 为 3,且 nodeValue 为该节点的文本”,那么“既然typesXml.firstChild.nodeType为3,那么typesXml.firstChild.nodeValue就应该有值吧”
;还有,<STONE>节点的nodeType应该是1呀,是不是ignoreWhite=true;没有发挥作用!
buddydeus 2003-08-24
  • 打赏
  • 举报
回复
坦白的说我不懂xml是来学的,up!
BoyPlusPlus 2003-08-23
  • 打赏
  • 举报
回复
很明显
typesXml.firstChild.nodeValue并没有值呀
这个节点应该只是到了<STONE>下

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧