Click here to Skip to main content
15,880,905 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
First XML

<Result>
  <subject_premium />
  <flatrate />
  <Result_system skip_name="skipname 1- order" skip="skip_1" type="freeform">
    <order>
      <Address include="1">CO</Address>
    </order>
  </Result_system>
  <Result_system skip_name="Formula 1 - Renewal Business Incentive" skip="skip_2" type="freeform">
    <order />
  </Result_system>
  <Result_system skip_name="Formula 2 - New Business Incentive" skip="skip_3" type="freeform">
    <order />
  </Result_system>
  <Result_system skip_name="skipname 2" skip="skip_4" type="Custom">
    <FinalResult>
      <Name />
      <sequence>1</sequence>
      <Remape>12333</Remape>
      <Limit>66</Limit>
    </FinalResult>
    <order />
  </Result_system>
  <Result_system skip_name="skipname - 3" skip="skip_5" type="Custom">
    <FinalResult>
      <Name />
      <sequence>1</sequence>
      <NBTS>888</NBTS>
      <LMS>423</LMS>
    </FinalResult>
    <order />
  </Result_system>
  <Result_system skip_name="skipname - 4" skip="skip_6" type="Custom">
    <FinalResult>
      <Name />
      <sequence>1</sequence>
      <Count>74</Count>
      <Sum>16</Sum>
      <Address>GA</Address>
    </FinalResult>
    <order />
  </Result_system>
</Result>


Second XML

'<Result>
  <subject_premium />
  <flatrate />
  <Result_system skip_name="skipname 1- order" skip="skip_1" type="freeform">
    <order>
      <Address include="1">CO</Address>
    </order>
  </Result_system>
  <Result_system skip_name="Formula 1 - Renewal Business Incentive" skip="skip_2" type="freeform">
    <order />
  </Result_system>
  <Result_system skip_name="Formula 2 - New Business Incentive" skip="skip_3" type="freeform">
    <order />
  </Result_system>
  <Result_system skip_name="skipname 2" skip="skip_4" type="Custom">
    <FinalResult>
      <Name>Tom</Name>
      <sequence>1</sequence>
      <Remape>162</Remape>
      <Limit>1254</Limit>
    </FinalResult>
    <order />
  </Result_system>
  <Result_system skip_name="skipname - 3" skip="skip_5" type="Custom">
    <FinalResult>
      <Name>Sammy</Name>
      <sequence>1</sequence>
      <NBTS>231</NBTS>
      <LMS>145</LMS>
    </FinalResult>
    <order />
  </Result_system>
  <Result_system skip_name="skipname - 4" skip="skip_6" type="Custom">
    <FinalResult>
      <Name>John</Name>
      <sequence>1</sequence>
      <Count>21</Count>
      <Sum>16</Sum>
      <Address>GA</Address>
    </FinalResult>
    <order />
  </Result_system>
</Result>'


I want to merge <finalresult> node from second xml to first xml with matching attribute of skip

and want to merge only in node element attribute skip_4, skip_5 and skip_6

skip="skip_4"
should be match with
skip="skip_4"

and
skip="skip_5"
should be match with
skip="skip_5"

and
skip="skip_6"
should be match with
skip="skip_6"



The result should be like

<Result>
  <subject_premium />
  <flatrate />
  <Result_system skip_name="skipname 1- order" skip="skip_1" type="freeform">
    <order>
      <Address include="1">CO</Address>
    </order>
  </Result_system>
  <Result_system skip_name="Formula 1 - Renewal Business Incentive" skip="skip_2" type="freeform">
    <order />
  </Result_system>
  <Result_system skip_name="Formula 2 - New Business Incentive" skip="skip_3" type="freeform">
    <order />
  </Result_system>
  <Result_system skip_name="skipname 2" skip="skip_4" type="Custom">
    <FinalResult>
      <Name>
      <sequence>1</sequence>
      <Remape>12333</Remape>
      <Limit>66</Limit>
    </FinalResult>
	<FinalResult>
      <Name>Tom</Name>
      <sequence>1</sequence>
      <Remape>162</Remape>
      <Limit>1254</Limit>
    </FinalResult>
    <order />
  </Result_system>
  <Result_system skip_name="skipname - 3" skip="skip_5" type="Custom">
    <FinalResult>
      <Name />
      <sequence>1</sequence>
      <NBTS>888</NBTS>
      <LMS>423</LMS>
    </FinalResult>
	 <FinalResult>
      <Name>Sammy</Name>
      <sequence>1</sequence>
      <NBTS>231</NBTS>
      <LMS>145</LMS>
    </FinalResult>
    <order />
  </Result_system>
  <Result_system skip_name="skipname - 4" skip="skip_6" type="Custom">
    <FinalResult>
      <Name />
      <sequence>1</sequence>
      <Count>74</Count>
      <Sum>16</Sum>
      <Address>GA</Address>
    </FinalResult>
	 <FinalResult>
      <Name>John</Name>
      <sequence>1</sequence>
      <Count>21</Count>
      <Sum>16</Sum>
      <Address>GA</Address>
    </FinalResult>
    <order />
  </Result_system>
</Result>'


What I have tried:

I have tried with SQL but it is only updating first node.
In C# I am able to navigate under XMLElement but not getting how to add an element value within an element.

Please guide a bit
Posted
Updated 16-Dec-20 12:50pm

1 solution

Your XML is invalid: <name>

Once you fix that, I would copy and "paste special" in VS (creates classes form XML), and work with that.

XmlSerializer.Deserialize Method (System.Xml.Serialization) | Microsoft Docs[^]
 
Share this answer
 

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