How can I set text value of SimpleXmlElement without using its parent?

前端 未结 2 1121
轻奢々
轻奢々 2020-11-27 23:35

I want to set text of some node found by xpath()


  
    text
          


        
相关标签:
2条回答
  • 2020-11-27 23:53

    You can do with a SimpleXMLElement self-reference:

    $firstC->{0} = "Victory!!"; // hackity, hack, hack!
    //  -or-
    $firstC[0]   = "Victory!!";
    

    found after looking at

    var_dump((array) reset($xml->xpath("(//c)[3]")))
    

    This also works with unset operations as outlined in an answer to:

    • Remove a child with a specific attribute, in SimpleXML for PHP
    0 讨论(0)
  • 2020-11-28 00:10

    The real answer is: you kind of can't.

    On the other hand you can use DOM for it, e.g.

    dom_import_simplexml($node)->nodeValue = 'foo';
    
    0 讨论(0)
提交回复
热议问题