【问题标题】:How to make php find xml node and change it ? [duplicate]如何让php找到xml节点并改变它? [复制]
【发布时间】:2013-07-03 09:19:31
【问题描述】:

我想让php通过值在xml中找到一个节点,并改变它...

我的 xml 如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<pages>
<link>
<title>App1</title>
<id>c4ca4238a0b923820dcc509a6f75849b</id>
<downloadsnumber>0</downloadsnumber>
</link>
<link>
<title>App2</title>
<id>c81e728d9d4c2f636f067f89cc14862c</id>
<downloadsnumber>0</downloadsnumber>
</link>
<link>
<title>App3</title>
<id>eccbc87e4b5ce2fe28308fd9f2a7baf3</id>
<downloadsnumber>0</downloadsnumber>
</link>
<link>
<title>App4</title>
<id>a87ff679a2f3e71d9181a67b7542122c</id>
<downloadsnumber>0</downloadsnumber>
</link>
</pages>

我的 php 代码必须搜索 ID(例如 c81e728d9d4c2f636f067f89cc14862c,即 App2),然后必须将同一 &lt;link&gt; 节点内的 &lt;downloadsnumber&gt; 的值更改为 1。

我怎样才能用 php 做到这一点?

谢谢

永远

【问题讨论】:

  • 这个问题已经在这里问过了stackoverflow.com/questions/2956601/…
  • @ThijmenVenus 是的.. 但我不想把 xml 放在 php 文件中......它必须留在 xml 文件中......
  • @EvertDeSpiegeleer:如果这是您的问题,那么您需要专门询问(并且它可能会被关闭,因为这只是使用文件名参数的相同方法)。

标签: php html xml dom xml-parsing


【解决方案1】:

我会这样做:
1. 使用 simpleXml 将您的 xml 转换为 php 对象。
2. 像在常规对象中一样更改线条。
3. 保存完整的 XML。

http://www.php.net/manual/en/simplexml.examples-basic.php

【讨论】:

  • 谢谢..我知道该怎么做,但问题是编辑正确的值..所选ID下的那个...
  • @EvertDeSpiegeleer:链接的副本显示基于属性值(其中一个元素是父元素),您可能需要将其应用于称为 sibling 的东西XML:DOMXPath get sibling depending on previous sibling value
【解决方案2】:

我发布的链接只是为了向您展示如何更改某些节点而不必将其保存在任何地方

【讨论】:

    猜你喜欢
    • 2022-01-16
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 2016-04-29
    • 1970-01-01
    相关资源
    最近更新 更多