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. NSArray和NSMutableArray的详解

    数组中不能存放基本数据类型,必须存放对象,因此如果要存放基本数据类型,先进行NSTimer封装 NSArray的用法: 第一.初始化 NSArray *firstArray=[[NSArray all ...

  2. Android 查看内存

    文章参照自:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-a ...

  3. 【转】Javascript 面向对象编程(一):封装

    原文链接:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html Javascript ...

  4. 【STL源码学习】STL算法学习之四

    排序算法是STL算法中相当常用的一个类别,包括部分排序和全部排序算法,依据效率和应用场景进行选择. 明细: sort 函数原型: template <class RandomAccessIter ...

  5. HTML超出文本多行截取代码

    HTML超出文本多行截取代码如下: HTML: <div class="sytm-text-1">      <p>           沈阳网页制作公司有 ...

  6. cocos2d-x 基本数学

    转自:http://cjhworld.blog.163.com/blog/static/207078036201331510141222/ 数学函数: ccp(x, y); // 以坐标x,y创建一个 ...

  7. Lync安装随笔

    使用域管理员权限扩展架构 1.iis角色安装 2.net3.5,消息队列服务器.目录服务集成.桌面体验.AD DS和AD LDS工具(远程服务管理工具中),启用WindowsFirewall服务 3. ...

  8. [React Fundamentals] Composable Components

    To make more composable React components, you can define common APIs for similar component types. im ...

  9. RapidXml用法

    一.写xml 文件 #include <iostream> #include "rapidxml/rapidxml.hpp" #include "rapidx ...

  10. C#数据采集类

    using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...