我有 2 个 xml 文件,product.xml 和 rule.xml。
规则.xml
<Attr>
<name>3D</name>
<category addto="name">AddString</category>
<transformingvalue>{0} capable</transformingvalue>
<comparingvalue></comparingvalue>
</Attr>
<Attr>
<name>Diagonal Size</name>
<name>Diagonal Size (cm)</name>
<name>Display Size</name>
<name>Display Type</name>
<name>Tablet size</name>
<name>Tablet size (cm)</name>
<category addto="transformed">AddString</category>
<transformingvalue>{0} Display</transformingvalue>
<comparingvalue></comparingvalue>
</Attr>
<Attr>
<name>Battery Life</name>
<category sub="ToValueBasedOnValueAddStringToTransformed">StringToNumAddString</category>
<transformingvalue id="1">{0} hours</transformingvalue>
<transformingvalue id="2">{0} mins</transformingvalue>
<tranformingvalue id="3" >Battery Life-{0}</tranformingvalue>
<comparingvalue operator="<=">60</comparingvalue>
</Attr>
产品.xml
<Attr>
<name>3D</name>
<value>yes</value>
</Attr>
<Attr>
<name>Diagonal Size</name>
<value>20.1in</value>
</Attr>
<Attr>
<name>Display Size</name>
<value>11.1in</value>
</Attr>
<Attr>
<name>Battery Life</name>
<value>5</value>
</Attr>
我想根据规则文件更改产品文件中的值元素。例如,如果对于 3D 名称元素,产品文件中的值元素是 yes,那么根据规则文件,其值元素将在产品文件中具有 3D 功能。所以会是
<Attr>
<name>3D</name>
<value>3D Capable</value>
</Attr>
所以我想使用 Linq 从两个 xml 中选择数据,如果 name 元素在两者中匹配并且我不想要两个 foreach 循环,但由于 Rules.xml 中的数据不统一,我被卡住了。