• Quick solution

    😎

    USE TEEST;

    GO

    SET NOCOUNT ON;

    Declare @MyXML XML = '<root>

    <person>

    <type>student</type>

    <idnumber>123</idnumber>

    </person>

    <person>

    <type>employee</type>

    <idnumber>456</idnumber>

    </person>

    <person>

    <type>student</type>

    <idnumber>789</idnumber>

    </person>

    </root>';

    -- THE TYPE TO REMOVE

    DECLARE @MyFilter Varchar(1000) = 'student';

    -- REMOVE THE STUDENT ENTRIES

    Set @MyXML.modify ('delete //person[type=sql:variable("@MyFilter")]');

    -- DISPLAY THE RESULTS

    Select @MyXML;

    Output

    <root>

    <person>

    <type>employee</type>

    <idnumber>456</idnumber>

    </person>

    </root>