JavaSript读写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);

documentElement 属性

作 用
确认XML 文件的根(Root)节点。
基本语法
objDoc=xmlDocument.documentElement;

说 明
回一个在单一根文件元素中包含数据的对象。此属性可读/写,如果文件中不包含根节点,将传回null。

范 例
objDocRoot = xmlDoc.documentElement;
alert(objDocRoot);

childNodes 属性

作 用
传回一个节点清单,包含该节点所有可用的子节点。
基本语法
objNodeList=node.childNodes;

说 明
传回一个物件。假如这节点没有子节点,传回null。

范 例
objNodeList = xmlDoc.childNodes;
alert(objNodeList);

attribute 属性

作 用
传回目前节点的属性列表。
基本语法
objAttributeList = xmlNode.attributes;

说 明
传回一个物件。如果此节点不能包含属性,则传回空值。

范 例
objAttList = xmlDoc.documentElement.attributes;
alert(objAttList);

createNode 方法

作 用
建立一个指定型态、名称,及命名空间的新节点。
基本语法
xmlDocument.createNode(type, name, nameSpaceURI);

说 明
type 用来确认要被建立的节点型态,name 是一个字符串来确认新节点的名称,命名空间的前缀则是选择性的。nameSpaceURI 是一个定义命名空间URI 的字符串。如果前缀被包含在名称参数中,此节点会在nameSpaceURI 的内文中以指定的前缀建立。如果不包含前缀,指定的命名空间会被视为预设的命名空间。

范 例
objNewNode = xmlDoc.createNode(1, “TO”, “”);
alert(objNewNode.xml);

createTextNode 方法

作 用
建立一个新的text 节点,并包含指定的数据。
基本语法
xmlDocument.createTextNode(data);

说 明
data 是一个代表新text 节点的字符串。一个新的text 节点被建立,但是没有加到文件树中。若要将节点加到文件树中,必须使用插入方法,例如:insertBefore,replaceChild或appendChild。

范 例
objNewTextNode = xmlDoc.createTextNode(“This is a text node.”);
alert(objNewTextNode.xml);

createElement 方法

作 用
建立一个指定名称的元素。
基本语法
xmlDocument.createElement(tagName);

说 明
tagName 是一个区分大小写的字符串来指定新元素名称。

范 例
objNewElement = xmlDoc.createElement(“TO”);
alert(objNewElement.xml);

AppendChild 方法

作 用
加上一个节点当作指定节点最后的子节点。
基本语法
xmlDocumentNode.appendChild(newChild);

说 明
newChild 是附加子节点的地址。

范 例
docObj = xmlDoc.documentElement;
alert(docObj.xml);
objNewNode = docObj.appendChild(xmlDoc.documentElement. firstChild);
alert(docObj.xml);

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);

nodeValue 属性

作 用
传回指定节点相关的文字。这并非一个元素中数据的值,而是与一个节点相关且未解析的文字,就像一个属性或者一个处理指令。
基本语法
varNodeValue = xmlDocNode.nodeValue;

说 明
传回的文字代表以节点的nodeType 属性为主的型态值。(请参考附录中的nodeType 属性。)因为节点型态可能是几种数据型态中的一种,传回值也因此有差异。传回null 的节点型态有:DOCUMENT、ELEMENT、DOCUMENT TYPE、DOCUMENT FRAGMENT、ENTITY、ENTITY REFERENCE,和NOTATION。此属性可擦写。

范 例
varNodeValue = xmlDoc.documentElement.nodeValue;
alert(varNodeValue);

nextSibling 属性

作 用
在目前文件节点的子节点列表中传回下一个兄弟节点。
基本语法
objNextSibling = xmlDocNode.nextSibling;

说 明
此属性是只读且传回一个对象。如果节点中没有包含其它的相关节点,会传回null。

范 例
objSibling = xmlDoc.documentElement.childNodes.item(1) .nextSibling;
alert(objSibling);

这些够你用一阵子的了。