在PHP中,可以使用SimpleXML和DOM扩展库来验证XML文档是否符合指定的XML Schema。下面分别介绍这两个库的用法。
SimpleXML方式使用SimpleXML进行XML Schema验证的步骤如下:
- 加载XML Schema文件和XML文件到SimpleXML对象中。
- 使用libxml_use_internal_errors()函数打开错误处理,以捕获XML解析和验证过程中的错误信息。
- 调用simplexml_load_string()或simplexml_load_file()函数将XML文件加载到SimpleXML对象中。
- 使用simplexml_import_dom()函数将DOM对象转换为SimpleXML对象。
- 调用$sxe->schemaValidate()方法对XML文档进行XML Schema验证。
示例代码如下:
$xml = simplexml_load_fi...
网上看到那些都是垃圾,数组多几层就不行了,还有就是用字符串组合成xml结构,这样很容易出错。
本人原创的这段是用PHP的DOMDocument生成的xml结构,兼容性很好,而且解析时不会出错。class jsonToXml {
public static function convert($data, DOMDocument $dom = null, DOMElement $xml = null) {
if(!$dom) {
$dom = new DOMDocument('1.0', 'UTF-8');
$dom->formatOutput = true;
}
if(!$xml) {
$xml = $dom->createElement('xml');
$xml->setAttribute('root', 'http...
/i (忽略大小写) /g (全文查找出现的所有匹配字符) /m (多行查找) /gi(全文查找、忽略大小写) /ig(全文查找、忽略大小写) i 模式中的字符将同时匹配大小写字母 m 字符串视为多行 s 将字符串视为单行,换行符作为普通字符 x 将模式中的空白忽略 e preg_replace() 函数在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串。 A 强制仅从目标字符串的开头开始匹配 D 模式中的 $ 元字符仅匹配目标字符串的结尾 U 匹配最近的字符串 u 模式字符串被当成 UTF-8
/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)
i 模式中的字符将同时匹配大小写字母
m 字符串视为多行
s 将字符串视为单行,换行符作为普通字符
x 将模式中的空白忽略
e ...
有些效果出不来,比如变量类型是object类型的不能完全打印!
function print_r(array, return_val) {
var output = '', pad_char = ' ', pad_val = 4, d = this.window.document,
getFuncName = function (fn) {
var name = (/\W*function\s+([\w\$]+)\s*\(/).exec(fn);
if (!name) {
return '(Anonymous)';
}
return name[1];
},
repeat_char = function (len, pad_char) {
var str = '';
for (var i = 0; i < len; i++)...
/*MSSql的操作类*/
class MSSql {
var $link;
var $querynum = 0;
/*连接MSSql数据库,参数:dbsn->数据库服务器地址,dbun->登陆用户名,dbpw->登陆密码,dbname->数据库名字*/
function Connect($dbsn, $dbun, $dbpw, $dbname) {
if($this->link = @mssql_connect($dbsn, $dbun, $dbpw, true)) {
$query = $this->Query('SET TEXTSIZE 2147483647');
if (@mssql_select_db($dbname, $this->link)...