【发布时间】:2021-12-31 07:20:38
【问题描述】:
我是 python 和 XML 的新手。我需要从 XML 文件中删除 UserName 和他所有相应的 FeatureId。我尝试使用 xml.etree.ElementTree 但无法删除 FeatureIds。任何帮助将不胜感激。
示例 XML
<?xml version="1.0" encoding="utf-8"?>
<BusinessRule>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CovRDMMetaData>
<Config>
<Type>Business Rule</Type>
<Category>Device</Category>
</Config>
<Properties>
<PropertyInfo>
<Rule>
<Name>FeatureEntitlementDetails</Name>
<Path>Rules\FeatureEntitlementDetails.xml</Path>
<Version>4.0.12</Version>
</Rule>
<Target>
<ClientName>Money Exchange Client</ClientName>
<ClientVersion>7.8.7</ClientVersion>
<DeviceType>Money AP15</DeviceType>
</Target>
</PropertyInfo>
</Properties>
</CovRDMMetaData>
<CovRDMData>
<SetFeatureRetirement>
<IsRetired>No</IsRetired>
<MessageIfRetired>Please upgrade ROLEX client to use Set Feature option</MessageIfRetired>
</SetFeatureRetirement>
<EnabledFeatureListForUsers>
<FeatureEntitlementDetail>
<UserName>raj@abc.com</UserName>
<FeatureList>
<FeatureDetail>
<FeatureId>0</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>1</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>2</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>3</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>4</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>5</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>6</FeatureId>
</FeatureDetail>
</FeatureList>
</FeatureEntitlementDetail>
<FeatureEntitlementDetail>
<UserName>mana@abc.com</UserName>
<FeatureList>
<FeatureDetail>
<FeatureId>0</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>1</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>2</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>3</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>4</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>5</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>6</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>7</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>8</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>9</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>10</FeatureId>
</FeatureDetail>
</FeatureList>
</FeatureEntitlementDetail>
<FeatureEntitlementDetail>
<UserName>thomas@abc.com</UserName>
<FeatureList>
<FeatureDetail>
<FeatureId>0</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>1</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>2</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>3</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>4</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>5</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>6</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>7</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>8</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>9</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>10</FeatureId>
</FeatureDetail>
</FeatureList>
</FeatureEntitlementDetail>
<FeatureEntitlementDetail>
<UserName>anyka@abc.com</UserName>
<FeatureList>
<FeatureDetail>
<FeatureId>7</FeatureId>
</FeatureDetail>
</FeatureList>
</FeatureEntitlementDetail>
</EnabledFeatureListForUsers>
</CovRDMData>
</BusinessRule>
例如,我想删除用户名 raj 和他的所有 FeatureIds 从 0 到 6。提前致谢。
【问题讨论】:
-
"我尝试使用 xml.etree.ElementTree 但无法删除 FeatureIds。" - 请向我们展示您的代码。
-
删除用户名是指删除整个
<FeatureEntitlementDetail><UserName>? -
@Ram 是的,我想删除整个
<FeatureEntitlementDetail><UserName> -
@mzjn 我是 xml 新手。我的代码不成熟。这就是为什么我没有发布它。