最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript里使用Dom操作Xml

 更新時(shí)間:2006年09月20日 00:00:00   作者:  
一.Xml文件
二.IXMLDOMDocument/DOMDocument簡(jiǎn)介 
2.1 屬性
2.1.1  parseError 
2.1.2  async. 
2.1.3  xml 
2.1.4  text 3 
2.1.5  attributes 
2.1.6  nodeName
2.1.7  documentElement 
2.1.8  nextSibling
2.1.9  childNodes
2.1.10  firstChild
2.1.11  lashChild
2.2 方法
2.2.1  loadXML
2.2.2  load
2.2.3  selectSingleNode
2.2.4  selectNodes
2.2.5  getElementsByTagName
2.2.6  hasChildNodes
三.例子
一.Xml文件 
<?xml version="1.0"?>
<book level="1"> 
  <Name>c++</Name> 
  <Price>20</Price> 
 <info>
<k>1</k>
  </info>
  <info>
    <k>2</k> 
  </info> 
</book> 
在asp.net下實(shí)現(xiàn)代碼:
string str = Server.MapPath("test1.xml"); 
XmlTextWriter xmlWriter = new XmlTextWriter(str,null); 
xmlWriter.Formatting = System.Xml.Formatting.Indented; 
xmlWriter.WriteStartDocument(); 
xmlWriter.WriteStartElement("book"); 
xmlWriter.WriteAttributeString("level","1"); 
xmlWriter.WriteElementString("Name","c++"); 
xmlWriter.WriteElementString("Price","20"); 
xmlWriter.WriteStartElement("info"); 
xmlWriter.WriteElementString("k","1"); 
xmlWriter.WriteEndElement(); 
xmlWriter.WriteStartElement("info"); 
xmlWriter.WriteElementString("k","2"); 
xmlWriter.WriteEndElement(); 
xmlWriter.WriteEndElement(); 
xmlWriter.WriteEndDocument(); 
xmlWriter.Close(); 
二.IXMLDOMDocument/DOMDocument簡(jiǎn)介 
2.1 屬性 
2.1.1  parseError 
Returns an IXMLDOMParseError object that contains information about the last parsing error
返回解析錯(cuò)誤時(shí)的一個(gè)對(duì)象。
重要的有parseError.errorCode,parseError.reason
如果load時(shí)路徑不對(duì),會(huì)返回“系統(tǒng)未找到指定的對(duì)象”的錯(cuò)誤
2.1.2  async 
Specifies whether asynchronous download is permitted
是否允許異步下載,布爾值
2.1.3  xml 
Contains the XML representation of the node and all its descendants. Read-only.
該點(diǎn)及下面派生的所有點(diǎn)的全部信息,只讀如果要求book點(diǎn)的xml,返回“<book level="1"><Name>c++</Name><Price>20</Price><info><k>1</k></info><info><k>2</k></info></book>”,如果Name的xml,返回“<Name>c++</Name>”
2.1.4  text 
Represents the text content of the node or the concatenated text representing the node and its descendants. Read/write
該點(diǎn)及下面派生的所有點(diǎn)的全部節(jié)點(diǎn)值,可讀可寫
<price>20</price>
則text為20
"Name"節(jié)點(diǎn)的text為"c++"
2.1.5  attributes 
Contains the list of attributes for this node
返回屬性的集合。
2.1.6  nodeName 
Returns the qualified name for attribute, document type, element, entity, or notation nodes. Returns a fixed string for all 
other node types. Read-only
該節(jié)點(diǎn)名稱
"Name"節(jié)點(diǎn)的nodeName為"Name","book"節(jié)點(diǎn)的nodeName為"book"
2.1.7  documentElement 
Contains the root element of the document
xml的根節(jié)點(diǎn)
上面的xml的根節(jié)點(diǎn)為"book"
2.1.8  nextSibling 
Contains the next sibling of the node in the parent's child list. Read-only.
下一個(gè)兄弟節(jié)點(diǎn),只讀
2.1.9  childNodes 
Contains a node list containing the child nodes
所有的子節(jié)點(diǎn)。
2.1.10  firstChild 
Contains the first child of the node
第一個(gè)子節(jié)點(diǎn)
2.1.11  lastChild 
Returns the last child node
最后一個(gè)子節(jié)點(diǎn)
2.2 方法 
2.2.1  loadXML 
Loads an XML document using the supplied string
2.2.2  load 
Loads an XML document from the specified locati
參數(shù)的路徑為服務(wù)器端的,是相對(duì)路徑
2.2.3  selectSingleNode 
Applies the specified pattern-matching operation to this node's context and returns the first matching node
返回第一個(gè)匹配的項(xiàng)
2.2.4  selectNodes 
Applies the specified pattern-matching operation to this node's context and returns the list of matching nodes as IXMLDOMNodeList
符合條件的所有項(xiàng)。
2.2.5  getElementsByTagName 
Returns a collection of elements that have the specified name
返回與元素名匹配的一個(gè)node的集合
2.2.6  hasChildNodes 
Provides a fast way to determine whether a node has children
判斷是否含有子節(jié)點(diǎn)
返回值為bool值
三.例子 
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc.async = false;
xmlDoc.load("test\\test1.xml");
if (xmlDoc.parseError.errorCode!=0)
{
var error = xmlDoc.parseError;
  alert(error.reason)
return;
}
var root = xmlDoc.documentElement;   //根節(jié)點(diǎn)
Form1.test1.value = root.xml;
/*結(jié)果如下:
<book level="1"><Name>c++</Name><Price>20</Price><info><k>1</k></info><info><k>2</k></info></book>*/
Form1.test1.value = root.nodeName;  //結(jié)果為"book"
var att = root.attributes;  //得到該點(diǎn)下所有屬性的集合
var str = "";
for (var i=0; i<att.length; i++)
{
str += att.item(i).nodeName+":"+att.item(i).text;
}
Form1.test1.value = str;  //只有一個(gè)屬性,所以結(jié)果為“l(fā)evel:1”
var fNode;
var lNode;
var nextSibling;
fNode = root.firstChild;   //第一個(gè)子節(jié)點(diǎn)Name
lNode = root.lastChild;    //最后一個(gè)子節(jié)點(diǎn) info
nextSibling = fNode.nextSibling;  //第一個(gè)子節(jié)點(diǎn)Name的后一個(gè)兄弟節(jié)點(diǎn),即Price
str = fNode.nodeName + ":" + fNode.text;  //結(jié)果:"Name:c++"
str = lNode.nodeName + ":" + lNode.text;  //結(jié)果為:"info:2"
str = nextSibling.nodeName + ":"  + nextSibling.text;  //結(jié)果為:"Price:20"
var nodeList;
str = "";
nodeList = xmlDoc.selectNodes("http://info");  //查找元素名為"info"的節(jié)點(diǎn)
for (var j=0; j<nodeList.length; j++)  //有兩個(gè)info節(jié)點(diǎn)
{
var infoNode = nodeList.item(j);
var cldNodes = infoNode.childNodes;  //info節(jié)點(diǎn)的子節(jié)點(diǎn)集
for (var k=0; k<cldNodes.length; k++)
{
       str += cldNodes.item(k).nodeName + ":" + cldNodes.item(k).text + " ";
}
//結(jié)果“k:1 k:2 ”
}
str = "";
var sNode;
sNode = xmlDoc.selectSingleNode("http://info"); //找到第一個(gè)和"info"匹配的
var scldNodes = sNode.childNodes;  //info節(jié)點(diǎn)的子節(jié)點(diǎn)集
for (var t=0; t<scldNodes.length; t++)
{
str += scldNodes.item(t).nodeName + ":" + scldNodes.item(t).text + " ";
}
//結(jié)果“k:1”
Form1.test1.value = str;

相關(guān)文章

最新評(píng)論

兴安县| 金坛市| 贵溪市| 鄂托克前旗| 洱源县| 襄汾县| 林西县| 峨边| 印江| 梧州市| 廉江市| 宜章县| 金乡县| 云霄县| 沙雅县| 石棉县| 扎鲁特旗| 莱州市| 阿克苏市| 西昌市| 同江市| 蓬溪县| 汾西县| 焦作市| 化隆| 江陵县| 交口县| 开平市| 米泉市| 沂南县| 元阳县| 东至县| 江安县| 温泉县| 万荣县| 宁化县| 普定县| 泾川县| 福清市| 清丰县| 汉寿县|