The following examples show how to remove some elements from an existing item (entity) with multi-occurrence elements (attributes) based on the content of a source XML stream.
Given an existing item as follows:
<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>
<Age>2</Age>
</Child>
<Child>
<Name>k3</Name>
<Age>3</Age>
</Child>
</Children>
<Habits>
<Habit>Basketball</Habit>
<Habit>Football</Habit>
<Habit>Tennis</Habit>
<Habit>Boxing</Habit>
</Habits>
<Pets>
<Pet>Cat</Pet>
</Pets>
<Pets>
<Pet>Dog</Pet>
</Pets>
<Pets>
<Pet>Pig</Pet>
</Pets>
<Pets>
<Pet>Cow</Pet>
</Pets>
</Person>
Example 1: If you want to remove two child items
from the existing item, then the Xpath you enter in the Pivot field must read as follows:
/Person/Children/Child
where the Delete check box is selected, and the Key field is set to /Name
. Note that the Child element is of a complex type, and needs to be
identified with the Key field. Moreover, you need
to provide the source XML stream as follows:
<Person>
<Id>1</Id>
<Children>
<Child>
<Name>k2</Name>
</Child>
<Child>
<Name>k3</Name>
</Child>
</Children>
</Person>
In this case, the two items Child [k2] and Child [k3] will be removed, and you will get the following result:
<Person>
<Id>1</Id>
<Name>p1</Name>
...
<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 2: If you want to remove some habits for
the Person element, then the Xpath you enter in
the Pivot field must read as follows:
/Person/Habits/Habit
where the Delete check box is selected, and the Key field is set to .
or empty
. Moreover,
you need to provide the source XML stream as follows:
<Person>
<Id>1</Id>
<Habits>
<Habit>Basketball</Habit>
<Habit>Football</Habit>
<Habit>Boxing</Habit>
</Habits>
</Person>
In this case, the three habit items Habit [Basketball], Habit [Football] and Habit [Boxing] will be removed, and you will get the following result:
<Person>
<Id>1</Id>
<Name>p1</Name>
...
<Habits>
<Habit>Tennis</Habit>
</Habits>
...
</Person>
Example 3: If you want to remove some habits for
the Child [k1] element, then the Xpath you enter
in the Pivot field must read as follows:
/Person/Children/Child[1]/Habits/Habit
where the Delete check box is selected, and the Key field is set to .
or empty
.
Note that Child[1] is used in the Pivot field to identify the habits of which child will be
removed. Moreover, you need to provide the source XML stream as follows:
<Person>
<Id>1</Id>
<Children>
<Child>
<Habits>
<Habit>Basketball</Habit>
<Habit>Football</Habit>
</Habits>
</Child>
</Children>
</Person>
In this case, the two items Habit [Basketball] and Habit [Football] will be removed, and you will get the following result:
<Person>
<Id>1</Id>
<Name>p1</Name>
...
<Children>
<Child>
<Name>k1</Name>
<Age>1</Age>
<Habits>
<Habit>Tennis</Habit>
<Habit>Boxing</Habit>
</Habits>
</Child>
<Child>
<Name>k2</Name>
<Age>2</Age>
</Child>
<Child>
<Name>k3</Name>
<Age>3</Age>
</Child>
</Children>
...
</Person>
Example 4: If you want to remove some pets for
the Person element, then the Xpath you enter in
the Pivot field must read as follows:
/Person/Pets
where the Delete
check box is selected, and the Key field is set to
/Pet
. Moreover, you need to provide the source XML stream as
follows:
<Person>
<Id>1</Id>
<Pets>
<Pet>Cat</Pet>
</Pets>
<Pets>
<Pet>Pig</Pet>
</Pets>
</Person>
In this case, the two items Pet [Cat] and Pet [Pig] will be removed, and you will get the following result:
<Person>
<Id>1</Id>
<Name>p1</Name>
...
<Pets>
<Pet>Dog</Pet>
</Pets>
<Pets>
<Pet>Cow</Pet>
</Pets>
</Person>