Partial update with Overwrite enabled or disabled
The following two examples explain how to add some elements to an existing item
(entity) with multi-occurrence elements (attributes) and then update the newly added
elements based on the content of a source XML stream.
Given an existing item as follows:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<Person> <Id>1</Id> <Name>p1</Name> <Houses> <House>[1]</House> <House>[2]</House> <House>[3]</House> </Houses> <Children> <Child> <Name>k1</Name> <Age>1</Age> <Habits> <Habit>Basketball</Habit> <Habit>Football</Habit> <Habit>Tennis</Habit> <Habit>Boxing</Habit> </Habits> </Child> </Children> <Person> |
Example 1: If you want to add two Child items to the existing item, then the Xpath you
enter in the Pivot field must read as follows:
/Person/Children/Child where the Overwrite check box is cleared, and the Key field is set to /Name. Note that the Child element is of complex type, and needs to be
identified with the Key field. Moreover, you need
to provide the source XML stream as follows:
|
1 2 3 4 5 6 7 8 9 10 11 |
<Person> <Id>1</Id> <Children> <Child> <Name>k2</Name> </Child> <Child> <Name>k3</Name> </Child> </Children> </Person> |
In this case, the two child items Child [k2]
and Child [k3] will be added, and you will get
the following result:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<Person> <Id>1</Id> <Name>p1</Name> <Houses> <House>[1]</House> <House>[2]</House> <House>[3]</House> </Houses> <Children> <Child> <Name>k1</Name> <Age>1</Age> <Habits> <Habit>Basketball</Habit> <Habit>Football</Habit> <Habit>Tennis</Habit> <Habit>Boxing</Habit> </Habits> </Child> <Child> <Name>k2</Name> </Child> <Child> <Name>k3</Name> </Child> </Children> </Person> |
Example 2: If you want to change the names of the
two child items Child [k2] and Child [k3], then the Xpath you enter in the Pivot field must read as follows:
/Person/Children/Child where the Overwrite check box is selected, and the Key field is set to /Name. Moreover, you need to
provide the source XML stream as follows:
|
1 2 3 4 5 6 7 8 9 10 11 |
<Person> <Id>1</Id> <Children> <Child> <Name>Tina</Name> </Child> <Child> <Name>Tommy</Name> </Child> </Children> </Person> |
In this case, the names of the two child items Child
[k2] and Child [k3] will be
updated, and you will get the following result:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<Person> <Id>1</Id> <Name>p1</Name> <Houses> <House>[1]</House> <House>[2]</House> <House>[3]</House> </Houses> <Children> <Child> <Name>k1</Name> <Age>1</Age> <Habits> <Habit>Basketball</Habit> <Habit>Football</Habit> <Habit>Tennis</Habit> <Habit>Boxing</Habit> </Habits> </Child> <Child> <Name>Tina</Name> </Child> <Child> <Name>Tommy</Name> </Child> </Children> </Person> |