我正在构建一个XML编辑器,并且在解析传入的XML文件时遇到了一些麻烦。
目前我只能解析一定深度的XML元素,我想知道如何获得最深的XML元素,因为目前我有一系列循环遍历xmlElem.children()的每个循环但这只允许我解析到一定深度,所以它相当有限。
任何帮助表示赞赏!
干杯, 哈利。
答案 0 :(得分:2)
听起来像递归http://en.wikipedia.org/wiki/Recursion_%28computer_science%29
的工作此函数将遍历整个XML结构,无论其大小/深度如何。
function parseChildren(parent:XML):void {
for each(child:XML in parent.children()) {
//do whaterver...
if(child.children().length() > 0) {
parseChildren(child);
{
}
}
答案 1 :(得分:0)
您还可以使用以下SimpleXML类从Flex AS3转换为Flash的AS3。您可以在此处找到它:Author website或直接从此处下载:SimpleXML source
我发现这个类在访问XML时非常有用。
答案 2 :(得分:0)
这可能是您正在寻找的:
var _xml:XML;
for each(var _element:XML in _xml.descendants())
{
trace(_element);
}
虽然这个循环只是一个例子,但是“descendants()”函数返回子,孙子,曾孙等等,解析你的XML对象并查看所有元素,无论大小和深度如何