程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Javascript XML DOM Trickiness大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Javascript XML DOM Trickiness?

开发过程中遇到Javascript XML DOM Trickiness的问题如何解决?下面主要结合日常开发的经验,给出你关于Javascript XML DOM Trickiness的解决方法建议,希望对你解决Javascript XML DOM Trickiness有所启发或帮助; | 所有!我在使用JavaScript访问XML节点的属性时遇到一些问题。 XML节点尤其如下所示:
<List DocTemplateUrl=\"\" defaultviewUrl=\"/Lists/Announcements/Allitems.aspx\" MobiledefaultviewUrl=\"\" ID=\"{Blahblahblahblah}\" ... />
@H_674_5@ 节点本身的标签内没有\“ data \”;它保存的所有数据都是List标记的实际修饰符。 JavaScript的XML DOM参几乎没有提供有关如何访问节点标签的修饰符的信息。 DOM参中的所有方法和属性都涉及子节点以及如何访问节点的内容。当然,这是有道理的,因为XML应该是格式正确且漂亮的,但是那些知道XML片段来自何处的人已经在笑,因为可怕的,不直观的XML是直接从Microsoft SharePoint \'s Web输出的。服务API。 :) 无论如何,这不是重点。如果有人知道如何使用JavaScript的XML DOM访问XML节点的属性,我将不胜感激。 :D 编辑:问题可能在其他地方。我的意思是属性,而不是属性。那帮了一大堆。但是,它仍然告诉我所有XML DOM Node属性和方法都是未定义的。我认为我用来访问方法的实际引用是不确定的。这是我用来生成它的代码:
var xmlDoc = $.parseXML(xml);
$(xmlDoC).find(\'List\').each (
    function ()
    {
        var ID = $(this).attributes.getnamedItem(\"ID\").value;
        alert(ID);
    });
@H_674_5@ 其中“ xml”包含上面的列表片段,并且是SharePoint Web services的直接XML输出。 我以为该代码找到了所有类型为“ List”的节点并对其进行遍历。这不正确吗? 编辑:找到解决方案。显然,当您使用Jquery封装JavaScript XML DOM节点时,$(this)不会给您DOM元素,而是会给您一个包含DOM元素的Jquery对象。鉴于我上面使用的代码,有两种解决方法: var ID = $(this).attr(\'ID \'); //这是Jquery的一种允许您访问封装的XML节点内的属性的方法-attr()不是标准JavaScript XML DOM的一部分,因为$(this)不是XML DOM元素。 var ID = $(this).get(0).attributes.getnamedItem(\“ ID \”)。value; //这是JavaScript的方式。在这里,我们调用get(0)从Jquery的封装对象返回实际的XML DOM节点;之后,我们可以调用所需的任何JavaScript XML DOM方法。我之所以使用这种方法,是因为我了解JavaScript XML DOM,并且我更愿意在GUI生成之外尽可能少地使用Jquery。 希望对其他遇到类似问题的人有所帮助。 :) (哦,属性vs属性。很高兴知道。:D)     

解决方法

您要引用的值称为属性。 假设您有对适当元素的引用:
var mobileDefaultViewUrl = element.getAttribute(\'MobileDefaultViewUrl\');
@H_674_5@ 基于Mozilla的浏览器的更完整示例:
var xmlText = \"<root><element id=\'elementId\' attribute1=\'test1\' attribute2=\'test2\' /></root>\";

var parser=new DOMParser();
var dom=parser.parseFromString(xmlText,\"text/xml\");    
var element = dom.getElementsByTagName(\'element\')[0];

console.log(element.getAttribute(\'attribute1\'));
@H_674_5@ 在jQuery中:
var xml = \"<root><element id=\'elementId\' attribute1=\'test1\' attribute2=\'test2\' /></root>\",xmlDoc = $.parseXML( xml ),$xml = $( xmlDoc ),$element = $xml.find( \"element\" );

console.log($element.attr(\'attribute1\'));
@H_674_5@     ,我认为您通过说财产来表示属性。如果您用它打谷歌,您@R_261_9381@很多更有用的答案。我发现了这个例子,例如如何使用Javascript访问xml属性? 。 答案之一描述了该解决方案,如下所示: === 对于xml,您的JavaScript将是:
document.getElementByTagname(\"person\").attributes.getNamedItem(\"name\").value; 
@H_674_5@ ===     

大佬总结

以上是大佬教程为你收集整理的Javascript XML DOM Trickiness全部内容,希望文章能够帮你解决Javascript XML DOM Trickiness所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:Trickiness