2017-06-20 3 views
0

XMLパラメータは以下のとおりです。ご覧のとおり、2つの「ゲートウェイ」ノードがあります。第1のものは内部インターフェイスを有し、第2のものはインターフェイスアップリンクを有する。HTML DOMを使用してXMLを使用して子ノードを追加する方法

私は新しいIpRange開始アドレスEndAddressに子ノードを追加したいです。しかしまず第一に、アップリンクインターフェイスを持ち、ここにIpRangeパラメータを追加するゲートウェイノードを見つける必要があります。 x.x.x.xに似ています。

私はXMLで新しく、私はjavascriptとHTML DOMを使用しています。

<Gateways> 
      <Gateway> 
       <Interface>internal</Interface> 
       <Subnet> 
        <Gateway>1.1.1.2</Gateway> 
        <Netmask>255.255.255.0</Netmask> 
        <IpAddress>1.1.1.1</IpAddress> 
       </Subnet>    
      </Gateway>   
      <Gateway> 
       <Interface>uplink</Interface> 
       <Subnet> 
        <Gateway>2.2.2.2</Gateway> 
        <Netmask>255.255.255.0</Netmask> 
        <IpAddress>2.2.2.1</IpAddress> 
        <IpRanges> 
         <IpRange> 
          <StartAddress>x.x.x.x</StartAddress> 
          <EndAddress>x.x.x.x</EndAddress> 
         </IpRange> 
          <IpRange> 
          <StartAddress>x.x.x.x</StartAddress> 
          <EndAddress>x.x.x.x</EndAddress> 
         </IpRange> 
        </IpRanges> 
       </Subnet> 
      </Gateway> 
</Gateways> 

答えて

0

これはXMLのDOM機能によって怒っコードをJSで試してみてください。これは助けることができる

var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     readXML(this); 
    } 
    }; 
    xhttp.open("GET", "yourFile.xml", true); 
    xhttp.send(); 

    function readXML(xml) { 
    var newElement, xmlDoc; 
    //New xmlDoc 
    xmlDoc = xml.responseXML; 
    //Looking for the right interface node 
    var InterfaceNode = xmlDoc.getElementsByTagName("Interface").nodeValue; 
    for (let i = 0; i < xmlDoc.getElementsByTagName("Interface").length; i++) { 
     //The one with value = 'uplink' 
     if (xmlDoc.getElementsByTagName("Interface")[i].nodeValue == 'uplink') { 
     var IpRangesNode = xmlDoc.getElementsByTagName("IpRanges")[i]; 
     //Creating the new node IpRange 
     newElement = xmlDoc.createElement("IpRange"); 
     //Adding 2 new nodes StartAddress and EndAddress both with x.x.x.x as value 
     var newStartAddress = newElement.createElement("StartAddress"); 
     newStartAddress.nodeValue = "x.x.x.x"; 
     var newEndAddress = newElement.createElement("EndAddress"); 
     newEndAddress.nodeValue = "x.x.x.x"; 
     //Appending to the initial Node 
     IpRangesNode.appendChild(newElement); 
     } 
    } 
    } 

希望、 ローラを。

+0

こんにちはローラ、あなたの努力に感謝します。このようなエラーが発生しています。 ReferenceError: "XMLHttpRequest"が定義されていません。私は開発のためのVMWareソフトウェアを使用していると私はXMLHttpRequestライブラリのためのサポートがないと思う。私は、私たちのソフトウェアをインストールしたXMLManagerプラグインしか持っていません:(((https://pubs.vmware.com/vsphere-50/index.jsp#com.vmware.vsphere.vco_use_plugins.doc_42/GUID-C8E14800-34B2-44D6-A500- 47351855C34B8.html – Legioon

+0

残念ながら、残念ながら、私はVMWareソフトウェアの知識がありません。 私の技術的なソリューションはJavaScript用に設計されていますが、私の知る限り、使用しているフレームワークとの互換性はありません 私の唯一の提案このトピックを閉じて、あなたの質問を言い換えてください**あなたがVMWare **のために働く何か**を指定し、コミュニティがあなたを助けてくれるようにしてください:) –

+0

こんにちはLaura、あなたのコメントのおかげで:) – Legioon

関連する問題