VB如何调用DOM对象,去提取指定网址的内容

VB如何调用DOM对象,去提取指定网址的内容,第1张

请看以下示例:

Set >

DOM全拼为DocumentObjectModel(文档对象模型)

是一种用于HTML和XML文档的编程接口,它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。我们最为关心的是,DOM把网页和脚本以及其他的编程语言联系了起来。DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。

1、用 childNodes 属性,按顺序取

实现过程:首先创建一个 xml 对象,然后载入 xml 文件,再根据待取节点父节点在 xml 文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。

//pId 待取节点父节点序号//cId 待取节点序号

function getXmlNodeValue(pId, cId) {

    var xmlDoc = new ActiveXObject("MicrosoftXMLDOM");

    xmlDocasync = false;

xmlDocload("employeeInfoxml");

var nodes = xmlDocdocumentElementchildNodes[pId]childNodes[cId];return nodeschildNodes[0]text;

}

//调用方法:

alert(getXmlNodeValue(1, 2));

2、用 for 循环来取

实现过程:首先创建一个 ie 支持的 xml 对象,如果发生异常,是创建一个 FireFox 支持的空 xml 对象并返回空;然后载入 xml 文件,如要发生异常也返回空;最后,通过 for 循环遍历查找与传入的节点值相同的节点,找到后返回属于该节点的属性值。

//nodeValue 待取节点的所属节点值

function getXmlNodeValueFor(nodeValue){    

    var xmlDoc; 

  try { 

    //创建一个 ie 支持的 XML 文档对象 

    xmlDoc = new ActiveXObject("MicrosoftXMLDOM");

  }catch(e){

      try{

      //创建FireFox空的XML文档对象

      xmlDoc=documentimplementationcreateDocument("","",null);

}catch(e){

  alert(emessage);

  return "";

}

}

xmlDocasync = false;

try { 

    xmlDocload("employeeInfoxml");

}catch(e){

    alert(emessage);

    return "";

}

var xd=xmlDocdocumentElementchildNodes;

if(xd==null) 

    return "";

 var tempValue;

for(var i=0;i<xdlength;i++){

    if(xd[i]childNodes[0]childNodes[0]nodeValue==nodeValue)        tempValue=xd[i]childNodes[2]childNodes[0]nodeValue;

}

return tempValue;

}

//调用方法:

alert(getXmlNodeValueFor("王佳琳"));

1、javascript 获取 Dom 树比较简单。直接获取document 文档对象就可以了,或者也可以直接从具体的控件对象进行获取。

2、比较困难的是如何获取之前旧的dom 树对象。常见的思路是可以设置一个全局的数组变量保存之前的dom树对象,注意此对象保存的只是引用,你做变更,之前保存的对象也是变的,因为两者本来就是同一个对象。所以你要保存的必须是dom树的复制对象,也就是所谓的深拷贝对象,这个是有点复杂度的,节点如果复杂的话,容易出现问题,要注意处理。

3、希望对你有帮助。

哎,我帮你改了下,具体的你自己慢慢看吧。

<html id = "ht" >

<head>

<meta charset="utf-8">

<script language="javascript">

function getElement(node)

{

tt(node);

for(var m=nodefirstChild; m!=null;m=mnextElementSibling)

{

getElement(m);

}

}

function tt(node){

if(nodenodeType==1)

{

alert(nodenodeName)

}

else

{

alert("这不是一个标签");

}

}

</script>

</head>

<body onLoad="getElement(documentgetElementById('ht'))">

<h1>测试</h1>

</body>

</html>

HTML代码:

<p id="result"></p>

JS代码:

var eleResult = documentgetElementById("result");

if (!windowconsole) {

windowconsole = {};

}

consolelog = function(result) {

var text = documentcreateTextNode(result), br = documentcreateElement("br");

eleResultappendChild(text);

eleResultappendChild(br);

};

var eleDivs = documentgetElementsByTagName("div");

ArrayprototypeforEachcall(eleDivs, function(div) {

consolelog("该div类名是:" + (divclassName || "空"));

});

首先 nextSibling 并不是所有浏览器执行后 结果都是一样的!

这是我写的:

<html>

<head>

<meta >

以上就是关于VB如何调用DOM对象,去提取指定网址的内容全部的内容,包括:VB如何调用DOM对象,去提取指定网址的内容、javascript html dom 中获取某节点下的所有某元素的数组、DOM是什么意思啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10158667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存