在其父节点的第一个节点添加xml节点

<?xml version="1.0" encoding="utf-8"?>

<users>
  <user>
    <firstname>Mark</firstname>
    <surname>Zhu</surname>
    </user>
</users>

this is the user node I want to add in the front of the existing one

  <user>
<firstname>Andy</firstname>
<surname>Li</surname>
</user>

The SimpleXMLElement::addChild can add the in the back of the existing one, Is there anybody know how to add in the front?

You'll have to use DOM, in particular

DOMNode::insertBefore(DOMNode, DOMNode)

See http://www.php.net/manual/en/domnode.insertbefore.php

What if you read the xml then in a new document, printed your user node + the original xml?

I would recommend to simply add the xml-declaration by hand. You can simply output it before the xml structure.