Click here to Skip to main content
15,921,210 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I want to remove node with xmlns attribute from an existing xml string in c#. I want to remove the Request Node.
My xml is as below:
<?xml version="1.0" encoding="utf-16"?><Request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><webServiceRequest><entityDetails><entityId>038</entityId><userName>P049563445634674574325323674we5476956789057905694565745764256456</userName><password>6919301721649254400252100878956720265267481307739303873300957305</password><serviceId>WS001</serviceId><requesterWsiRef>WSI835180322000000</requesterWsiRef><RSASignature>TJQ4BQi3rWA5Xn77t6kkgQQSYafFK8Oe5CsPJGXoyDgp2n78lQ2yDMPWdT7rr4n3oPGUlJ6LMGX1v8sczXPysu/BVNGpGAs0LjJoAiRt4H0PbJodSLkKZRpoUuVkQG/QhAg3LXgulk3ID78CiO3dshCtfu0razVu+cZp6Tq8R8o=</RSASignature></entityDetails><requestDetails><encrypyedRequestKeyData>EV/VkI8uZMd5e+mOwbwb4Ha55rm9fAn6cT+74ocf2eimhoppLP2ylyDKo8SFOCgmHanV7eBEmFgaESU7s/BzewcRsRmnCtG5m/EC3pFFhNcoDwBIgOlCiQSl8Q+mTbXI1OvomTNIAfK5uyIczjsekUWiP8DHphPvgJTC/0La9Pc=</encrypyedRequestKeyData><encryptedRequestData>QGs0t0m1oEKAAAVOV+y+1cJqFMbRj52QOziDHbBCJjgovbdy8CK2apW0Elokd08+CnEgKrUCGm1ZjXojaq1GSRAr/Gkyp6mq7qbsXnQJmJwpAckCiKcTPKXuB+IGWzrDMT1dllQFnmoi2Q9UOQthTtHWmgm38jlzZfKJVR1GwZapNtxJec8z6Wt1lEdfpnz/MkGjTGyoMX7Ov6RDQJOlkloWqn57QeJW5xKYJiBNt1P5qn7BxPx0UfA3OZ4eHgx131cGmFUpeoiJ6p5qdNMt8CsbL6fRZ4OroKjiVf7huf7Aij+RrpBsEGwePtwKkt2ODZHJZTpt0tB0qHRD4TyK9bW30kSMaO9/SVQ7I1rKwkGWZ2YjANkAwS9fEU82QrOxZ+P5fPyLQiYU0ilXc8amwCUA5sT7q+st3W6FIh7Dy2cSRPi6uB030sQeH3Twg/x3S8NjR7L23DfddfBEUwBmPiI5N4glFSCxyr0UWNrtjyURaNhPn+znuHoyrMe6xMUD0yvTruCpUGOwo0dXRsdQDsomHsq9npwQV3AWfcyOG8UlAObE+6vrLd1uhSIew8tnWMMpYL0pdzhNHZgwK58KhdGeX4mosh+shtZy4N5OwlxQ8qJVum7wD+q3mTl7XKnnMfil0UXkGs3HsSKJuXY97oInn9XkSyFA9bJcIPOJcdVdg6/t5Ovlp4d1AVAOv3E3JQDmxPur6y3dboUiHsPLZ/yPd4MwoWqjwguiWKrFzbYXRt/PCuEKUs2GvKENir4Ai5Ks4UORnZESjxN80jZeiqbx+/6XuKmveblQYd90/kElAObE+6vrLd1uhSIew8tnntxijX5Felk9zjXZIGXMDlIqni7OnrrfmvG6rBFr2XAzMQ3dOs8xc6M6TQQ7PT8y7YpUp5MvawbOr434Yjsd1TppAdI1AE7RMdP2jc/87x/78UANzosw/6ziYyuWl3gkZacbD6QyZYB8EG+erHlwqKRRIOS/Bfsr1tOfj4HoX8ON4CbO4b08YviPtKjZz8oMXDgVgpCfEJ8nGU+CEMXYLc5XYK7dDYRDaiaOYZJcx1Llxj8mN+BPLFyiExtzt17pNcbowObgyWxfCxNi4WsnV9nKZOdCPGtFJqzxhd0juDBsNVw0SeOuWvJYoNQVbyvrxsOF96b8uhLnjhLWVK33o85XYK7dDYRDaiaOYZJcx1KUryu2IaCwpMU9UFER4NfqM6MFB7/Z9rzGT702iVl5piTEwp6LII+43RLM1PcKkP3ZwutxTNNmvf2skDb/2mHzKxsvp9Fng6ugqOJV/uG5/hH/56Sm2oP8NL1tyVoZE18NfvAAo24MxVZpFHpMBnG+Ef/npKbag/w0vW3JWhkTX/Dr/lkvVVpBvct6t7m5lDDOV2Cu3Q2EQ2omjmGSXMdSkdyKqvO7YPpORQM37pjyhRdYS57fidUNQZYx6mYmT/l7UP1PlPEy4nHFW2LwPry2jcQ25/dVK97tHteQYehwKDY9ShtY7P6buthgUDRGOU+1t9JEjGjvf0lUOyNaysJB3moqeYDHHOukuirOSWejnOsZFUH1cutOUqAYTtQDplY6QKkLq5mcsXdKauXOq06jzldgrt0NhENqJo5hklzHUme2o5IGONWFGDTCriJaRrj6nbjcom28it2N+unQtbp1iWHsOWzqqCEZIULNrMg0JyUA5sT7q+st3W6FIh7Dy2c7SpSqwUKnN/0lZ1mO648FxNGClCAQx4iAQ6EPkIUWA6ZAChQdaPytGBTYR/BPb8wCsvQICk3ZXbR3i8d0Qse5sxvOyegiyw7yme5xTu7x7/yrV1rraQRYOVIvbCu6fI/k9bT41GaorLB8sMhnzcBc</encryptedRequestData></requestDetails></webServiceRequest></Request>


Output
I want the above xml as below:
<?xml version="1.0" encoding="utf-16"?>
<webServiceRequest><entityDetails><entityId>038</entityId><userName>P049563445634674574325323674we5476956789057905694565745764256456</userName><password>6919301721649254400252100878956720265267481307739303873300957305</password><serviceId>WS001</serviceId><requesterWsiRef>WSI835180322000000</requesterWsiRef><RSASignature>TJQ4BQi3rWA5Xn77t6kkgQQSYafFK8Oe5CsPJGXoyDgp2n78lQ2yDMPWdT7rr4n3oPGUlJ6LMGX1v8sczXPysu/BVNGpGAs0LjJoAiRt4H0PbJodSLkKZRpoUuVkQG/QhAg3LXgulk3ID78CiO3dshCtfu0razVu+cZp6Tq8R8o=</RSASignature></entityDetails><requestDetails><encrypyedRequestKeyData>EV/VkI8uZMd5e+mOwbwb4Ha55rm9fAn6cT+74ocf2eimhoppLP2ylyDKo8SFOCgmHanV7eBEmFgaESU7s/BzewcRsRmnCtG5m/EC3pFFhNcoDwBIgOlCiQSl8Q+mTbXI1OvomTNIAfK5uyIczjsekUWiP8DHphPvgJTC/0La9Pc=</encrypyedRequestKeyData><encryptedRequestData>QGs0t0m1oEKAAAVOV+y+1cJqFMbRj52QOziDHbBCJjgovbdy8CK2apW0Elokd08+CnEgKrUCGm1ZjXojaq1GSRAr/Gkyp6mq7qbsXnQJmJwpAckCiKcTPKXuB+IGWzrDMT1dllQFnmoi2Q9UOQthTtHWmgm38jlzZfKJVR1GwZapNtxJec8z6Wt1lEdfpnz/MkGjTGyoMX7Ov6RDQJOlkloWqn57QeJW5xKYJiBNt1P5qn7BxPx0UfA3OZ4eHgx131cGmFUpeoiJ6p5qdNMt8CsbL6fRZ4OroKjiVf7huf7Aij+RrpBsEGwePtwKkt2ODZHJZTpt0tB0qHRD4TyK9bW30kSMaO9/SVQ7I1rKwkGWZ2YjANkAwS9fEU82QrOxZ+P5fPyLQiYU0ilXc8amwCUA5sT7q+st3W6FIh7Dy2cSRPi6uB030sQeH3Twg/x3S8NjR7L23DfddfBEUwBmPiI5N4glFSCxyr0UWNrtjyURaNhPn+znuHoyrMe6xMUD0yvTruCpUGOwo0dXRsdQDsomHsq9npwQV3AWfcyOG8UlAObE+6vrLd1uhSIew8tnWMMpYL0pdzhNHZgwK58KhdGeX4mosh+shtZy4N5OwlxQ8qJVum7wD+q3mTl7XKnnMfil0UXkGs3HsSKJuXY97oInn9XkSyFA9bJcIPOJcdVdg6/t5Ovlp4d1AVAOv3E3JQDmxPur6y3dboUiHsPLZ/yPd4MwoWqjwguiWKrFzbYXRt/PCuEKUs2GvKENir4Ai5Ks4UORnZESjxN80jZeiqbx+/6XuKmveblQYd90/kElAObE+6vrLd1uhSIew8tnntxijX5Felk9zjXZIGXMDlIqni7OnrrfmvG6rBFr2XAzMQ3dOs8xc6M6TQQ7PT8y7YpUp5MvawbOr434Yjsd1TppAdI1AE7RMdP2jc/87x/78UANzosw/6ziYyuWl3gkZacbD6QyZYB8EG+erHlwqKRRIOS/Bfsr1tOfj4HoX8ON4CbO4b08YviPtKjZz8oMXDgVgpCfEJ8nGU+CEMXYLc5XYK7dDYRDaiaOYZJcx1Llxj8mN+BPLFyiExtzt17pNcbowObgyWxfCxNi4WsnV9nKZOdCPGtFJqzxhd0juDBsNVw0SeOuWvJYoNQVbyvrxsOF96b8uhLnjhLWVK33o85XYK7dDYRDaiaOYZJcx1KUryu2IaCwpMU9UFER4NfqM6MFB7/Z9rzGT702iVl5piTEwp6LII+43RLM1PcKkP3ZwutxTNNmvf2skDb/2mHzKxsvp9Fng6ugqOJV/uG5/hH/56Sm2oP8NL1tyVoZE18NfvAAo24MxVZpFHpMBnG+Ef/npKbag/w0vW3JWhkTX/Dr/lkvVVpBvct6t7m5lDDOV2Cu3Q2EQ2omjmGSXMdSkdyKqvO7YPpORQM37pjyhRdYS57fidUNQZYx6mYmT/l7UP1PlPEy4nHFW2LwPry2jcQ25/dVK97tHteQYehwKDY9ShtY7P6buthgUDRGOU+1t9JEjGjvf0lUOyNaysJB3moqeYDHHOukuirOSWejnOsZFUH1cutOUqAYTtQDplY6QKkLq5mcsXdKauXOq06jzldgrt0NhENqJo5hklzHUme2o5IGONWFGDTCriJaRrj6nbjcom28it2N+unQtbp1iWHsOWzqqCEZIULNrMg0JyUA5sT7q+st3W6FIh7Dy2c7SpSqwUKnN/0lZ1mO648FxNGClCAQx4iAQ6EPkIUWA6ZAChQdaPytGBTYR/BPb8wCsvQICk3ZXbR3i8d0Qse5sxvOyegiyw7yme5xTu7x7/yrV1rraQRYOVIvbCu6fI/k9bT41GaorLB8sMhnzcBc</encryptedRequestData></requestDetails></webServiceRequest>


What I have tried:

Tried below code as below:
XDocument doc = XDocument.Parse(objCBAPIDetails.RequestAPI);
XNamespace ns = "x-schema:tsSchema.xml";
doc.Root.Element(ns + "Request")
    .Elements(ns + "expansion").Remove();

But not working.
Posted
Updated 20-Jul-18 3:44am
Comments
Richard Deeming 20-Jul-18 9:38am    
Your sample XML does not have any namespaces defined. There is no element called "Request" in the namespace "x-schema:tsSchema.xml".

There is also no element called "expansion", in that namespace or any other.

The "Request" element is the root element. It does not have a child node called "Request".

And the code you've tried does not match what you've said you're trying to do. You're trying to promote the root element's single child element to be the new root; but your code is trying to remove a child element from the "Request" element.

1 solution

Based on your description, the code you're looking for is simply:
C#
XDocument doc = XDocument.Parse(objCBAPIDetails.RequestAPI);
doc.ReplaceNodes(doc.Root.Elements().Single());
 
Share this answer
 
Comments
ranio 23-Jul-18 4:58am    
How to update the existing xml using xdoc. I mean the objCBAPIDetails.requestAPI
Richard Deeming 23-Jul-18 7:41am    
objCBAPIDetails.requestAPI = doc.ToString();

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900