XML是否合法

在我认为 XML的标签成对 并且根标签外边没有其他东西

以下是合法的

<?xml version="1.0" encoding="utf-8"?>
<root><a/>cc</root>
<root><a/>cc</root>

以下是我认为不合法的

ASDASDASDASD
ASDASD<root><a/>cc</root>
asdasd<root>

我现在有个需求就是需要加载的XML文件有合法的可以直接使用的,有的是经过压缩的无法直接使用的

压缩后的内容

x陧}[?筿輠€鼑?鲏?^蓮A?8?[F藨

我需要判断这个XML是否合法

但是

str = "x陧}[?筿輠€鼑?鲏?^蓮A?8?[F藨";

var xml:XML = new XML(str);

trace(xml)//竟然不是null

我是这么解决的

我认为如果new XML不报错 并且第一个字符是"<" 而且 最后一个字符是">" 我就认为这个XML合法 如果解压缩后还不满足就直接当text使用

var tmpByte:ByteArray = event.currentTarget.data;
var tmpText:String = "";
var tmpXml:XML;
try
{
tmpXml = new XML(tmpByte.readUTFBytes(tmpByte.length)); tmpText = tmpXml.toString(); if(!(tmpText.substr(0,1) == "<" && tmpText.substr(tmpText.length - 1, 1) == ">"))
{
tmpXml = null;
}
else
{
tmpText = tmpXml.toString();
}
}
catch (error:Object) { tmpXml = null; } if (tmpXml == null)
{
try
{
tmpByte.uncompress(CompressionAlgorithm.ZLIB); tmpXml = new XML(tmpByte.readUTFBytes(tmpByte.length)); tmpText = tmpXml.toString(); if(!(tmpText.substr(0,1) == "<" && tmpText.substr(tmpText.length - 1, 1) == ">"))
{
tmpXml = null;
}
else
{
tmpText = tmpXml.toString();
}
}
catch (error:Object) { tmpXml = null; } if (tmpXml == null)
{
tmpText = tmpByte.readUTFBytes(tmpByte.length);
}
}
if (tmpXml == null)
{
trace("此字符不是XML");
}
else
{
trace("此数据是XML")
}

as3判断XML是否合法的更多相关文章

  1. [ActionScript 3.0] 判断XML属性是否存在

    在as3中判断xml节点是否存在以及判断xml某节点是否存在某属性可用下面方法: if(xml.hasOwnProperty("frameRate")){ trace(" ...

  2. LintCode389.判断数独是否合法

    LintCode简单题:判断数独是否合法 问题描述: 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 注意事项: 一个合法的数独(仅部分填充)并不一定是可解的.我们 ...

  3. YTU 3001: 判断操作是否合法(栈和队列)

    3001: 判断操作是否合法(栈和队列) 时间限制: 1 Sec  内存限制: 128 MB 提交: 4  解决: 2 题目描述 假设以I和O分别表示进栈和出栈操作,栈的初态和终态均为空,进栈和出栈的 ...

  4. lintcode:Valid Sudoku 判断数独是否合法

    题目: 判断数独是否合法 请判定一个数独是否有效.该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 样例 下列就是一个合法数独的样例. 注意 一个合法的数独(仅部分填充)并不一定是可解的.我们 ...

  5. 判断数独是否合法(LintCode)

    判断数独是否合法 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用. 表示. 样例 下列就是一个合法数独的样例. 注意 一个合法的数独(仅部分填充)并不一定是可解的.我们仅需使填 ...

  6. 用scanf_s判断输入数据是否合法

    用scanf_s判断输入数据是否合法 对用户输入的整数进行求和.当用户输入任意字符时,结束程序并打印结果. A. 用户可以输入整数和浮点数 B. 用户可以在同一行输入多个数字,数字之间可以是任意一个分 ...

  7. php 判断 xml 里是否存在某个节点

    参考网址:http://blog.csdn.net/crazyboy2005/article/details/6114454 DOMDocument中,怎样判断某节点是否存在呢? /* $xml-&g ...

  8. 简单的as3操作xml

    package { import flash.display.Sprite; import flash.events.Event; import flash.net.URLLoader; import ...

  9. php的DOMDocument 如何判断xml是否存在某节点

    在做xml解释时,需要判断是否存在某个节点,查了手册函数,硬是没有发现那个函数有这个功能(如果你知道的话,请留言,博主感激涕零). 下面,就说下博主,经过N多博文,论坛查阅后,得到的一种方法(看到的博 ...

随机推荐

  1. 高效使用Bitmaps(一) 大Bitmap的加载

    转载:http://my.oschina.net/rengwuxian/blog/182885 高效使用Bitmaps有什么好处? 我们常常提到的“Android程序优化”,通常指的是性能和内存的优化 ...

  2. iOS 沙盒目录结构介绍

    iOS系统中,每个应用都有自己的沙盒,且应用只能访问其对应的沙盒目录下面的文件.当然,在用户授权的情况下,应用也可以访问其他目录下面的文件.比如,用户授权情况下,应用可以访问相册.通讯录.在开发中,经 ...

  3. js方法重载

    test(5); test(5,5); function test(a){ alert(a); } function test(a,b){ alert(a+b); } NaN和10,说明第二个覆盖了第 ...

  4. [威客任务]¥800.00 JS实现网站联动三级选项

    任务地址:http://task.zhubajie.com/3275832/ 具体要求: 要求1) 选单样式参照附件2) 点击第一个选项内容后,跳出第二个选项栏位,并自动更新选项内容3) 点击第二个选 ...

  5. mysql---where子查询、form子查询、exists子查询

    1.什么是子查询? 当一个查询是另一个查询的条件时,称之为子查询. 2.子查询有什么好处? 子查询可以使用几个简单命令构造功能强大的复合命令. 那么,现在让我们一起来学习子查询. 3.where型的子 ...

  6. ASP.NET线程与异步

    什么是线程? 线程简单来说就是一种数据结构,用来管理这个程序的执行状态,其中包括 1.线程核心对象->寄存器的状态 2.线程环境块,是一块用户模式下的内存,包含线程的异常处理链的头部.线程的局部 ...

  7. php empty()和isset()的区别<转载>

    在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问 ...

  8. 征服 Nginx + Tomcat

    2年前一直折腾Apache,现如今更习惯Nginx. 搭建网站又遇到2年前遇到的问题——Session同步. (参考我以前的帖子——征服 Apache + Tomcat)只不过现今担当负载均衡的Apa ...

  9. 03---JavaScript基础整理

    一.概述:           Netscape开发的一种基于对象和事件驱动的脚本语言.                  被设计用来想HTML页面添加交互行为.           无需编译,可由浏 ...

  10. java.util.Scanner的日常用法

    Scanner是新增的一个简易文本扫描器,在 JDK 5.0之前,是没有的.查看最新在线文档: public final class Scanner extends Object implements ...