【问题标题】:write to existing XML file [duplicate]写入现有的 XML 文件 [重复]
【发布时间】:2014-06-17 04:47:10
【问题描述】:

所以这是任务。 我有一个现有的 XML 文件,位于我的公共保管箱文件夹中。

Link to XML File

我知道如何按照以下教程从 XML 文件中读取值

link to tutorial

并将 2 行更改为以下内容

xmlDoc=loadXMLDoc("https://dl.dropboxusercontent.com/u/4171179/testValues.xml");

x=xmlDoc.getElementsByTagName("growth");

但是我怎样才能写入那个文件呢?说我要换

<growth>1.25</growth>

<growth>1.05</growth>

这是怎么做到的,有可能吗?

问候

安德斯

【问题讨论】:

    标签: javascript php jquery html xmlhttprequest


    【解决方案1】:

    据我所知,Javascript 不允许写入任何文件(本地硬盘或服务器)。这是出于安全原因。因此,您可以做的最好的事情是对您的服务器进行 Ajax 调用,然后在您的 XML 文件中进行更改。

    我建议您使用 Ajax,因为这样您就不必一直刷新页面。您可以查看 Jquery 以获得一种非常快速且简单的方式来进行 ajax 调用。

    您在哪种服务器上运行您的网站? Apache (PHP) 还是 Windows (.NET)?

    编辑只是一个快速的 JQuery ajax 调用示例。

    $.ajax({  
        type: "POST", 
        url: "some.php", 
        data: { name: "John", location: "Boston" }
    }).done(function( msg ) {
        alert( "Data Saved: " + msg );
    });
    

    然后在服务器上(PHP)

    <?php
       $growth_post = $_POST["growth"]; 
       ... code to handle the data ...
    
       $doc = new DOMDocument(); 
       $doc->load("https://dl.dropboxusercontent.com/u/4171179/testValues.xml");
       $items = $doc->getElementsByTagName("data"); 
    
       foreach( $items as $item ) {
            $growth = $item->getElementsByTagName("growth"); 
            $growth->item(0)->nodeValue = $growth_post;
        }
        $doc->save("https://dl.dropboxusercontent.com/u/4171179/testValues.xml")
    ?>
    

    但您必须确保您对保管箱文件具有写入权限!

    【讨论】:

      猜你喜欢
      • 2014-01-18
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多