簡體   English   中英

從JavaScript中的XML獲取價值

[英]Get Value from XML in JavaScript

我在嘗試找出如何使用如下所示的JavaScript從XML文件中獲取值時遇到了麻煩:

<Network>
    <Local>
        <Name>Name 1</Name>
        <IP>192.168.0.1</IP>
    </Local>
    <Network1>
        <Name>Test</Name>
        <IP>192.168.0.2</IP>
    </Network1>
    <Network2>
        <Name>Demo</Name>
        <IP>192.168.0.3</IP>
    </Network2>
</Network> 

我嘗試獲取的值是Network1的 名稱 ,即“測試”

我嘗試使用以下代碼,但似乎無法正常工作。

    xmlDoc=xmlhttp.responseXML;

    var Name1 = xmlDoc.getElementsByTagName("Name")[1]; 
        Name1 = Name1.childNodes.length ? Name1.childNodes[0].nodeValue : "" ;

    var Name2 = xmlDoc.getElementsByTagName("Name")[2]; 
        Name2 = Name2.childNodes.length ? Name2.childNodes[0].nodeValue : "" ;

    alert(Name1);  //should alert 'Test'
    alert(Name2);  //should alert 'Demo'

難道我做錯了什么 ?

如下所示,假設您有一個實際的XML節點,您的代碼段將起作用。 因此,您的錯誤必須放在其他地方。

 var xmlString = "<Network><Local><Name>Name 1</Name><IP>192.168.0.1</IP></Local><Network1><Name>Test</Name><IP>192.168.0.2</IP></Network1><Network2><Name>Demo</Name><IP>192.168.0.3</IP></Network2></Network>"; var xml = $.parseXML(xmlString); var nodes = xml.getElementsByTagName("Name"); var nameNode = nodes[1]; var nameString = nameNode.childNodes.length ? nameNode.childNodes[0].nodeValue : "" ; alert(nameString); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

例如,您的xmlDoc是字符串,您是否檢查了它的類型?

請注意,為簡潔起見,在這里使用jQuery來解析XML字符串,您可以輕松地使用原始Javascript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM