本问题已经有最佳答案,请
猛点这里访问。
这是我的 xml 文件
| 1 2 3 4 5 6 7 8 9 10 11 12 |
<books > <book > Jack Herrington </author > PHP Hacks <publisher >O ‘Reilly</publisher> </book> <book> Jack Herrington</author> Podcasting Hacks <publisher>O’Reilly </publisher > </book > </books > |
我需要使用 php 脚本将第二个标题 <title>Podcasting Hacks</title> 编辑为 <title>Podcasting Pops</title> 。
任何人都可以给我一个建议。谢谢
- 它需要是动态的(您希望编辑的值总是不同的,这是一个例子)还是静态的(您总是需要更改相同的值)?
- 请看这个问题:stackoverflow.com/q/3577641/1919238
- 您可以使用 SimpleXML 将 XML 加载到 PHP 对象中。您可以操作该对象,然后将该对象再次作为 XML 写入文件。您只需要 SimpleXML。
- 是的,需要动态
- 看到这个stackoverflow.com/questions/1193528/…
- stackoverflow.com/questions/4748014/updating-xml-node-with-p??hp
文件\\’test.php\\’:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php include ‘books.php’ ; $b = new books ( ) ; //1. load books from xml to array $arr = $b -> load ( ‘books.xml’ ) ; //2. modify title //3. save array to xml |
文件\\’books.php\\’:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
<?php class books { //load books from xml to array public function load ( $fname ) { $doc = new DOMDocument ( ) ; if ( $doc -> load ( $fname ) ) $res = $this -> parse ( $doc ) ; return $res ; private function parse ( $doc ) private function parse_fields ( $node ) //save array to xml $books = $doc -> appendChild ( $doc -> createElement ( ‘books’ ) ) ; foreach ( $rows as $row ) file_put_contents ( $fname , $doc -> saveXML ( ) ) ; } |

评论(0)