无法正确写入xml

时间:2015-05-01 15:49:08

标签: php xml

我有以下问题。我试图在xml文件中创建一个新项目,但我认为我的代码有问题是xml文件

<?xml version="1.0" encoding="iso-8859-1"?>
<urls>
  <url>
  <link>http://google.com</link>
  </url>
  </urls>

我只是想在这里添加另一个使用PHP的网址,这就是我想要的方式

// Open and parse the XML file
    $xml = simplexml_load_file("urls.xml");
     // Create a child in the first topic node
     $child = $xml->url[0]->addChild("url");
     // Add the text attribute
     $child->addAttribute("link", $url);

    // Display the new XML code
     echo $xml->asXML();
     // Store new XML code in questions.xml
     $xml->asXML("urls.xml");

但是我只获得了链接标记而不是其他网址。对不起,我是XML新手。可能有什么不对?

2 个答案:

答案 0 :(得分:0)

试试这个,用DOM解析

global.html

答案 1 :(得分:0)

这不起作用,因为你告诉它做错了。

如果你有这个:

<?xml version="1.0" encoding="iso-8859-1"?>
<urls>
    <url>
        <link>http://google.com</link>
    </url>
</urls>

你想要这个:

<?xml version="1.0" encoding="iso-8859-1"?>
<urls>
    <url>
        <link>http://google.com</link>
    </url>
    <url>
        <link>http://stackoverflow.com</link>
    </url>
</urls>

但你告诉它这样做:

<?xml version="1.0" encoding="iso-8859-1"?>
<urls>
    <url>
        <link>http://google.com</link>
        <url link="http://www.stackoverflow.com" />
    </url>
</urls>

请尝试使用以下代码:

$xml = simplexml_load_file("urls.xml");
// Create a child in the first topic node
$child = $xml->urls[0]->addChild("url");
$child->addChild("link", $url);
// Display the new XML code
echo $xml->asXML();
// Store new XML code in questions.xml
$xml->asXML("urls.xml");