我需要为指定用户替换产品列表(UserCart)为更新后的产品列表。我如何在不调用每个属性的情况下完成这个操作?
<Users>
<UserInfo>
<Name>ddd</Name>
<Wallet>0</Wallet>
<UserCart>
<Products_>
<MedicineProduct
Product_Name="sak"
Product_ID="0"
Price="0"
Quntity="0"
Image="" />
</Products_>
</UserCart>
</UserInfo>
这就是我卡住的地方...
public static void Edit(UserInfo user, Products usercart)
{
XmlDocument doc = new XmlDocument();
doc.Load(path);
XmlNode node = doc.SelectSingleNode(string.Format("//UserInfo[./Name/text()='{0}']", user.Name));
}
发现指定用户。如何用新值替换整个UserCart节点?
?.
(空值条件运算符)是C# 6.0的一部分,因此如果OP使用的是VS 2013或更早版本,则该运算符将不可用。 - TimreplacedNode
是否为null
。已更新答案。 - Nikolai SamteladzeuserCart
)作为content
传递给XElement
构造函数,那么它只会调用它的ToString()
方法。我会选择在这里描述的选项。即创建使用XmlSerializer
序列化对象的扩展方法。在这种情况下,您还可以使用System.Xml
命名空间中的属性(XmlElement
等)来控制序列化。 - Nikolai Samteladze