【发布时间】:2021-12-31 08:28:54
【问题描述】:
我是 python 和 XML 的新手。我需要将 UserName 和他所有相应的 FeatureIds 添加到 XML 文件中。任何帮助将不胜感激。例如,我想添加用户名 john@abc.com 和他的 FeatureIds 3、5、6。它可以是用户列表中的任何位置,即在开头、中间或结尾,但与其他用户名的结构相同。提前致谢。
示例 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>
预期输出:
<?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>john@abc.com</UserName>
<FeatureList>
<FeatureDetail>
<FeatureId>3</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>5</FeatureId>
</FeatureDetail>
<FeatureDetail>
<FeatureId>6</FeatureId>
</FeatureDetail>
</FeatureList>
</FeatureEntitlementDetail>
***
<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>
我在需要添加新用户名和他的 FeatureIds 的开头和结尾添加了 *** 提前致谢
【问题讨论】:
-
@Ram 你能看看这个吗?
-
分享预期的输出。假设你已经分享了什么是输入。 准确地解释 xml 文档是如何更改的。
-
@balderman 我已经编辑了这个问题。添加预期输出
-
所以你想添加一个新的
FeatureEntitlementDetail- 对吧? -
是的。我想用他的用户名和 featureIds 添加新的
FeatureEntitlementDetail