关闭

XMLDoc的方法

标签: stylesheetencryptionxslxmlnullurl
1056人阅读 评论(0) 收藏 举报

先看一下如何用XMLDoc:

它是用来拼一个xml文件的:

var XmlDoc = new ActiveXObject("MSXML2.DOMDocument");

var Instruction = XmlDoc.createProcessingInstruction("xml","version='1.0' encoding='utf-8'");

XmlDoc.appendChild(Instruction);


var Root = XmlDoc.createNode(1, "RequestAllInfo", "");


var ServerInfosNode = XmlDoc.createNode(1, "DataServerInfos", "");
Element = XmlDoc.createElement("DataServerCount");
Element.text = "1";
ServerInfosNode.appendChild(Element);



var ServerNode = XmlDoc.createNode(1, "DataServerInfo", "");
Element = XmlDoc.createElement("ServerIP");
Element.text = m_szDataProcessServerIP;
ServerNode.appendChild(Element);
Element = XmlDoc.createElement("ServerPort");
Element.text = m_szDataProcessServerPort;
ServerNode.appendChild(Element);


var IOInfoNode = XmlDoc.createNode(1, "IOInfo", "");
Element = XmlDoc.createElement("IONum");
Element.text = "-1";
IOInfoNode.appendChild(Element);
ServerNode.appendChild(IOInfoNode);


ServerInfosNode.appendChild(ServerNode);


Root.appendChild(ServerInfosNode);
XmlDoc.appendChild(Root);


最后在取的时候:alet(XmlDoc.xml)就可以了。


=====================================================================================


XMLDoc的方法(一)

abort 方法

作     用
abort 方法取消一个进行中的异步下载
基本语法
xmlDocument.abort();
说     明
如果这个方法在异步下载时被呼叫,所有的解析动作会停止,而且在内存中的文件会被释放。
范     例
xmlDocument.abort();


AppendChild 方法
作     用
加上一个节点当作指定节点最后的子节点。
基本语法
xmlDocumentNode.appendChild(newChild);
说     明
newChild 是附加子节点的地址。
范     例
docObj = xmlDoc.documentElement;
alert(docObj.xml);
objNewNode = docObj.appendChild(xmlDoc.documentElement. firstChild);
alert(docObj.xml);




cloneNode 方法
作     用
建立指定节点的复制。
基本语法
xmlDocumentNode.cloneNode(deep);
说     明
deep 是一个布尔值。如果为true,此节点会复制以指定节点发展出去的所有节点。如果是false,只有指定的节点和它的属性被复制。
范     例
currNode = xmlDoc.documentElement.childNodes.item(1);
objClonedNode = currNode.cloneNode(1);
alert(objClonedNode.xml);


createAttribute 方法
作     用
建立一个指定名称的属性。
基本语法
xmlDocument.createAttribute(name);
说     明
name 是被建立属性的名称。
范     例
objNewAtt = xmlDoc.createAttribute("encryption");
alert(objNewAtt.xml);


createCDATASection 方法
作     用
建立一个包含特定数据的CDATA。
基本语法
xmlDocument.createCDATASection(data);
说     明
date 是一个字符串,且包含了被置放在CDATA 的资料。
范     例
objNewCDATA = xmlDoc.createCDATASection("This is a CDATA Section");
alert(objNewCDATA.xml);


createComment 方法
作     用
建立一个包含指定数据的批注。
基本语法
xmlDocument.createComment(data);
说     明
data 是一个字符串,且包含了被置放在批注的资料。
范     例
objNewComment = xmlDoc.createComment("This is a comment");
alert(objNewComment.xml);


createDocumentFragment 方法
作     用
建立一个空的文件片断对象。
基本语法
xmlDocument.createDocumentFragment();
说     明
一个新的文件片断被建立,但没有加到文件树中。要加入片断到文件树中,必须使用插入方法,例如insertBefore、replaceChild 或appendChild。
范     例
objNewFragment = xmlDoc.createDocumentFragment();
alert(objNewFragment.xml);


createElement 方法
作     用
建立一个指定名称的元素。
基本语法
xmlDocument.createElement(tagName);
说     明
tagName 是一个区分大小写的字符串来指定新元素名称。
范     例
objNewElement = xmlDoc.createElement("TO");
alert(objNewElement.xml);


createEntityReference 方法
作     用
建立一个参照到指定名称的实体。
基本语法
xmlDocument.createEntityReference(name);
说     明
name 是一个区分大小写的字符串,来指定新实体参照的名称。一个新的实体参照被建立,但是并没有被加到文件树中。若要将实体参照加到文件树中,必须使用一种插入方法,例如:insertBefore,replaceChild,或appendChild。
范     例
objNewER = xmlDoc.createEntityReference("eRef");
alert(objNewER.xml);


createNode 方法
作     用
建立一个指定型态、名称,及命名空间的新节点。
基本语法
xmlDocument.createNode(type, name, nameSpaceURI);
说     明
type 用来确认要被建立的节点型态,name 是一个字符串来确认新节点的名称,命名空间的前缀则是选择性的。nameSpaceURI 是一个定义命名空间URI 的字符串。如果前缀被包含在名称参数中,此节点会在nameSpaceURI 的内文中以指定的前缀建立。如果不包含前缀,指定的命名空间会被视为预设的命名空间。
范     例
objNewNode = xmlDoc.createNode(1, "TO", "");
alert(objNewNode.xml);


createProcessingInstruction 方法
作     用
建立一个新的处理指令,包含了指定的目标和数据。
基本语法
xmlDocument.createProcessingInstruction(target, data);
说     明
target 是表示目标、名称或处理指令的字符串。Data 是表示处理指令的值。一个新的处理指令被建立,但是并没有加到文件树中。要把处理指令加到文件树中,必须使用插入方法,例如:insertBefore、replaceChild,或是appendChild。
范     例
objNewPI =xmlDoc.createProcessingInstruction(‘XML’, ‘version="1.0"’);
alert(objNewPI.xml);


createTextNode 方法
作    用
建立一个新的text 节点,并包含指定的数据。
基本语法
xmlDocument.createTextNode(data);
说    明
data 是一个代表新text 节点的字符串。一个新的text 节点被建立,但是没有加到文件树中。若要将节点加到文件树中,必须使用插入方法,例如:insertBefore,replaceChild或appendChild。
范    例
objNewTextNode = xmlDoc.createTextNode("This is a text node.");
alert(objNewTextNode.xml);


getElementsByTagName 方法
作    用
传回指定名称的元素集合。
基本语法
objNodeList = xmlDocument.getElementsByTagName(tagname);
说    明
tagname 是一个字符串,代表找到的元素卷标名称。使用tagname "*"传回文件中所有找到的元素。
范    例
objNodeList = xmlDoc.getElementsByTagName("*");
alert(objNodeList.item(1).xml);


haschildnodes 方法
作    用
如果指定的节点有一个或更多子节点,传回值为true。
基本语法
boolValue = xmlDocumentNode.hasChildNodes() ;
说    明
如果此节点有子节点传回值为true,否则传回false 值。
范    例
boolValue = xmlDoc.documentElement.hasChildNodes();
alert(boolValue);


insertBefore 方法
作    用
在指定的节点前插入一个子节点。
基本语法
objDocumentNode = xmlDocumentNode.insertBefore(newChild,refChild);
说    明
newChild 是一个包含新子节点地址的对象,refChild 是参照节点的地址。新子节点被插到参照节点之前。如果refChild 参数没有包含在内,新的子节点会被插到子节点列表的末端。
范    例
objRefNode = xmlDoc.documentElement;
alert(xmlDoc.xml);
objNewNode = xmlDoc.createComment("This is a comment");
xmlDoc.insertBefore(objNewNode, objRefNode);
alert(xmlDoc.xml);


load 方法
作    用
表示从指定位置加载的文件。
基本语法
boolValue = xmlDocument.load(url);
说    明
url 包含要被加载档案的URL 的字符串。假如文件加载成功,传回值即为true。若加载失败,传回值为false。
范    例
boolValue = xmlDoc.load("LstA_1.xml");
alert(boolValue);


loadXML 方法
作    用
加载一个XML 文件或字符串的片断。
基本语法
boolValue = xmlDocument.loadXML(xmlString);
说    明
xmlString 是包含XML 文字码的字符串。
范    例
xmlString = "<GREETING><MESSAGE>Hello!</MESSAGE></GREETING>";
boolValue = xmlDoc.loadXML(xmlString);
alert(boolValue);


nodeFromID 方法
作    用
传回节点ID 符合指定值的节点。
基本语法
xmlDocumentNode = xmlDocument.nodeFromID(idString);
说    明
idString 是一个包含ID 值的字符串。符合的节点必定是ID 型态。若符合,将传回一个对象;若操作失败,则传回null。
范    例
objDocumentNode = xmlDoc.nodeFromID("TO");
alert(objDocumentNode);


parsed 方法
作    用
会验证该指定的节点(node)及其衍生的子节点(descendants)是否已被解析过。
基本语法
boolValue = xmlDocumentNode.parsed();
说    明
如果全部的节点都已经被解析过了,则传回值为ture;如果有任何一个节点尚未被解析,传回值则为false。
范    例
currNode = xmlDoc.documentElement.childNodes.item(0);
boolValue = currNode.parsed();
alert(boolValue);


removeChild 方法


作    用
会将指定的节点从节点清单中移除。
基本语法
objDocumentNode = xmlDocumentNode.removeChild(oldChild);
说    明
oldChild 为一个包含要被移除的节点对象。
范    例
objRemoveNode = xmlDoc.documentElement.childNodes.item(3);
alert(xmlDoc.xml);
xmlDoc.documentElement.removeChild(objRemoveNode);
alert(xmlDoc.xml);


replaceChild 方法
作    用
置换指定的旧子节点为提供的新子节点。
基本语法
objDocumentNode = xmlDocumentNode.replaceChild(newChild,oldChild);
说    明
newChild 为包含新子节点的对象。如果此参数为null,则此旧子节点会被移除而不会被取代。oldChild 为包含旧子节点的对象。
范    例
objOldNode = xmlDoc.documentElement.childNodes.item(3);
objNewNode = xmlDoc.createComment("I've replaced the BCC element.");
alert(xmlDoc.xml);
xmlDoc.documentElement.replaceChild(objNewNode,objOldNode);
alert(xmlDoc.xml);


selectNodes 方法
作    用
传回所有符合提供样式(pattern)的节点。
基本语法
objDocumentNodeList = xmlDocumentNode.selectNodes(patternString);
说    明
patternString 为一包含XSL 样式的字符串。此方法会传回节点清单对象,包含符合样式的节点。如果没有符合的节点,则传回空的清单列表。
范    例
objNodeList=xmlDoc.selectNodes("/");
alert(objNodeList.item(0).xml);


selectSingleNode 传回第一个符合样式的节点
作    用
传回第一个符合样式的节点。
基本语法
objDocumentNode = xmlDocumentNode.selectSingleNode(patternString);
说    明
patternString 为一包含XSL 样式的字符串。此方法会传回第一个符合的节点对象,如果没有符合的节点,则传回null。
范    例
objNode = xmlDoc.selectSingleNode("EMAIL/BCC");
alert(objNode.xml);


transformNode 方法
作    用
使用提供的样式表来处理该节点及其子节点。
基本语法
strTransformedDocument = xmlDocumentNode.transformNode(stylesheet);
说    明
stylesheet 为一XML 文件或是片断包含负责节点转换工作的XSL 元素。此方法会传回一包含转换结果的字符串。
范    例
var style = new ActiveXObject("Microsoft.XMLDOM");
style.load("LstA_49.xsl");
strTransform = xmlDoc.transformNode(style.documentElement);
alert(strTransform);

2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1146291次
    • 积分:12817
    • 等级:
    • 排名:第1104名
    • 原创:253篇
    • 转载:3篇
    • 译文:0篇
    • 评论:157条
    最新评论