在通用模式下的JavaScript解析 [英] XML Parsing in Javascript in Generic Mode

查看:135
本文介绍了在通用模式下的JavaScript解析的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要帮助XML解析
它是新的

Hi I need help in XML Parsing Am new to it

我需要知道一些教程用于XML解析在javascript

I need to know some tutorials for XML parsing in javascript

我收到一个XML文档,我试图解析以获取 FIRSTNAME & LASTNAME 从xml文档,但不能这样做

I got an XML document which I tried to parse to get the contents of FIRSTNAME & LASTNAME from the xml doc but cannot do so

我的XML

<MESSAGE>
    <HEADER>
        <LOGIN>
            00986544
        </LOGIN>
    </HEADER>
    <SESSION>
        <LATITUDE>
            0.0
        </LATITUDE>
        <LONGITUDE>
            0.0
        </LONGITUDE>
        <TYPE>PRELOGIN</TYPE>
        <KEY>PRELOGIN/ID</KEY>
        <APP/>
        <TRANSACTION>PRELOGIN</TRANSACTION>
    </SESSION>
    <PAYLOAD>
        <PRELOGIN>
            <TABLE>
                <FIRSTNAME> papapap</FIRSTNAME>
                <LASTNAME> hajka</LASTNAME>
            </TABLE>
        </PRELOGIN>
    </PAYLOAD>
</MESSAGE>

以下是我尝试的代码

var message   = xml.documentElement.getElementsByTagName("MESSAGE");

var firstname = xml.documentElement.getElementsByTagName("FIRSTNAME");
var lastname  = xml.getElementById("LASTNAME");

我得到一些 HTMLCollection Object作为答案,不是名字

I get some HTMLCollection Object as answer but not the name

请指导。

推荐答案

DOM方法 getElementsByTagName 返回一个 NodeList 对象,它是一个数组,即使只找到一个元素。你必须选择第一个:

The DOM method getElementsByTagName returns a NodeList object, which is an array, even if only one element is found. You have to select the first one:

var message   = xml.documentElement.getElementsByTagName("MESSAGE")[0];

该方法搜索整个树中所有出现的代码作为参数,所以如果您有多个具有相同名称的标签,即使它们在不同的子树中,也将被选中。这也不是最有效的方法。但是,由于您只有一个 FIRSTNAME 和一个 LASTNAME ,您可以使用以下方式提取它们:

The method searches the whole tree for all the occurrences of the tag you pass as a parameter, so if you have multiple tags with the same name, even if they are in different subtrees, they will be selected. It's also not the most efficient method. But since you only have one FIRSTNAME and one LASTNAME you can extract them using:

var firstname = xml.documentElement.getElementsByTagName("FIRSTNAME")[0];
var lastname  = xml.documentElement.getElementsByTagName("LASTNAME")[0];

这篇关于在通用模式下的JavaScript解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆