I need to delete all <row>
nodes with <integer>3489943</integer>
using xmlstarlet but I cannot figure out the xpath.
A fragment of the file is as follows
<?xml version='1.0' encoding='UTF-8'?>
<backup xmlns="http://www.atlassian.com/ao" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<database>
<meta key="database.name" value="Oracle"/>
<meta key="database.version" value="Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit"/>
<meta key="database.minorVersion" value="1"/>
<meta key="database.majorVersion" value="12"/>
<meta key="driver.name" value="Oracle JDBC driver"/>
<meta key="driver.version" value="12.2.0.1.0"/>
</database>
<table name="AO_0A5972_NOTIFICATION_SETTING">
<column name="ID" primaryKey="true" autoIncrement="true" sqlType="2" precision="20"/>
<column name="KEY" primaryKey="false" autoIncrement="false" sqlType="12" precision="255"/>
<column name="TYPE" primaryKey="false" autoIncrement="false" sqlType="12" precision="255"/>
<column name="USER_KEY" primaryKey="false" autoIncrement="false" sqlType="12" precision="255"/>
<column name="VALUE" primaryKey="false" autoIncrement="false" sqlType="12" precision="255"/>
</table>
<data tableName="AO_733371_EVENT_PARAMETER">
<column name="EVENT_ID"/>
<column name="ID"/>
<column name="NAME"/>
<column name="VALUE"/>
<row>
<integer>3243959</integer>
<integer>59623887</integer>
<string>object#issue#created_date#0</string>
<string>1590646764000</string>
</row>
<row>
<integer>3489943</integer>
<integer>64127343</integer>
<string>object#issue#created_date#0</string>
<string>1593114489000</string>
</row>
<row>
<integer>3489943</integer>
<integer>64127355</integer>
<string>jira#status#oldstring#0</string>
<string>To Do</string>
</row>
</data>
</backup>
I have tried this but no luck
xmlstarlet ed -d "/backup/data[@tableName='AO_733371_EVENT_PARAMETER']/row[integer=3489943]" sample.xml
Thanks,
Enrique
Your file uses XML namespaces.
xmlstarlet edit -N xyz='http://www.atlassian.com/ao' --delete '//xyz:row[xyz:integer="3489943"]' file.xml