DOMDocument 与 FreeThreadedDOMDocument 有什么不同?分别在什么条件下适用?
服务器端操作本地文件应该使用哪个?
一般使用Msxml2.Document组件来加载xml文档的,但当动态使用xsl解析xml文档时,必须使用Msxml2.FreeThreadedDOMDocument这种自由线程的组件,同时使用MSXML2.XSLTemplate模板组件来加载xml,xsl数据,通过MSXML2.XSLTemplate的transform方法,就可以动态的用xsl来解析xml数据了,另外,IE5开始,系统默认的xml组件是msxml2,如果需要使用更新的msxml组件需要安装更新的msxml组件包,并指定新的名称,例如Msxml2.FreeThreadedDOMDocument.4.0
意思是说,用transform转换xml的时候,必须用FreeThreadedDOMDocument加载文档,用XSLTemplate去解析吗?
我现在用的是DOMDocument加载xml和xsl并transform,暂时没有发现问题
我用JScript说明一下:
如果将XSLT作为一个DOMDocument加载:
var xsl=new ActiveXObject("MSXML2.DOMDocument.5.0");
xsl.load(路径);
// 然后使用XML文档的:
doc.transformNode(xsl);
这是没有问题的。
使用FreeThreaded的DOM主要是在用XSLTemplate来转换XML文档的时候:
var xsl=new ActiveXObject("MSXML2.FreeThreadedDOMDocument.5.0");
xsl.load(路径);
var xslt=new ActiveXObject("MSXML2.XSLTemplate.5.0"); //创建一个XSL模板
xslt.stylesheet=xsl; //模板的样式表源设为xsl
var proc=xslt.createProcessor(); //使用样式表创建一个XML处理器
proc.input=doc; //将XML文档连接到处理器
proc.transform(); //使用样式表转换文档
var xmlout=proc.output; //得到输出 注意取走输出一次后输出变为空
这是因为XSLProcessor必须异步地处理XML文档的转换 因此你的XSL文档必须是自由线程模式的
如果你的XSL文档是普通的DOMDocument 会得到提示: 需要自由线程模式
DOMDocument比较常用 而FreeThreaded的文档虽然用法基本一样
但机制复杂一些
分享到:
相关推荐
由于安全原因,ActiveX对象通常受限于同源策略,这意味着JavaScript不能在不同域名之间直接使用Msxml2.DOMDocument对象。不过,在服务器端如ASP.NET中,这个问题不复存在,因此Msxml2.DOMDocument可以在服务器上自由...
win7中vfp软件安装后出现 0: 找不到MSXML2.DOMDOCUMENT.4.0类定义,此中是Dll文件下载,直接放在c:\windows\system目录下即可!msxml4.cab
在 PHP 中生成 XML 的常用方法包括使用 DOMDocument DOMDocument 是 PHP 中处理 XML 的另一个强大的类。与 SimpleXML 相比,它提供了更多的功能和灵活性,但也可能需要更多的代码。DOMDocument 允许你构建和操作复杂...
使用HTML5DOMDocument,你可以轻松完成以下任务: 1. 解析HTML5文档:通过加载HTML字符串或URL,将其转化为DOM树。 2. 查找元素:利用XPath或CSS选择器查找文档中的特定元素。 3. 修改元素:添加、删除或修改元素...
本文将围绕使用PHP读取XML文件,重点介绍两种常用的方法:DOMDocument和simplexml。 首先,我们来了解DOMDocument类。DOMDocument是PHP的内置类,属于Document Object Model(文档对象模型)的一部分,主要用于解析...
asp使用MSXML2.DOMDocument加载网络上的xml文件时,在调用load方法前需要注意设置: 代码如下: oXML.setProperty “ServerHTTPRequest”, true 即启用ServerHTTPRequest请求,要不会出现系统错误: -2146697209。 ...
使用`DOMDocument::loadXML()`方法可以将XML字符串解析为DOM树,而`DOMDocument::load()`方法则用于从文件加载XML文档。例如: ```php $doc = new DOMDocument(); $doc->load('example.xml'); ``` 4. **节点...
DOMDocument是PHP内置的一个类,用于操作XML文档。它提供了一种以面向对象的方式解析和生成XML的方法。本篇文章将详细介绍如何使用...掌握DOMDocument的使用方法,对于需要进行XML处理的PHP开发者来说是非常有必要的。
- `find()`方法是核心功能之一,可以使用CSS选择器找到DOM树中的特定元素。 - 例如,`$dom->find('p')`将找到所有的段落元素。 4. **操作元素**: - `outertext`属性允许获取或设置元素的完整HTML代码,包括所有...
DOM中document文档对象常用方法.为网页版。打开后,右击查看元素或源码,ok建议使用火狐,谷歌浏览器,ie
使用DOMDocument类创建XML文件的步骤大致如下: 1. 创建DOMDocument实例,设定XML版本和编码格式。 2. 使用createElement方法创建XML文档的元素节点。 3. 使用createTextNode方法创建文本节点,并将其附加到相应的...
在这个实例中,我们将探讨如何使用DOMDocument类来生成HTML,包括常见的标签元素。DOMDocument提供了丰富的功能,可以让我们创建、修改和操作HTML结构。 首先,创建一个新的DOM文件非常简单。通过实例化DOMDocument...
dom4j的各种用法 读取XML文件,获得document对象.解析XML形式的文本,得到document对象.
DOMDocument相关的内容. 属性: Attributes 存储节点的属性列表(只读) childNodes 存储节点的子节点列表(只读) dataType 返回此节点的数据类型 Definition 以DTD或XML模式给出的节点的定义(只读) Doctype 指定文档...
在本教程中,我们将深入探讨DOM4J的主要功能和使用方法。 ### 1. DOM4J简介 DOM4J是基于DOM模型的,但它比Java内置的DOM API更易于使用,性能也更优。它支持SAX和DOM解析,并且提供了一个强大的事件驱动模型,使得...
在本文中,我们将深入探讨DOM4J的使用方法、API以及如何结合递归算法来处理XML数据。 首先,DOM4J的核心概念是Element,它代表XML文档中的一个节点。通过Element对象,我们可以获取或修改元素的属性、文本内容以及...
##如何使用 var DOMDocument = require ( './path/to/domdocument' ) ; // sorry for not yet releasing this to the mighty NPM// from a filenew DOMDocument ( ) . load ( 'path/to/file.xml' , function ( ...