在Java中,您可以使用GetUserData和SetUserData附加XML节点上的任意对象,以便在处理DOM时在运行时使用。 C#中有等价物吗?有没有办法在C#中执行此操作而不是扩展XMLNode? p>
答案 0 :(得分:3)
XmlNode
有点过时了。您应该使用LINQ to XML。
LINQ to XML中所有对象的基类是XObject
。此类有AddAnnotation
方法,允许您将任意数据附加到XObject
。
答案 1 :(得分:1)
框架中没有内置的东西。
你可以通过几种不同的方式实现同样的目标。
子类XmlNode
:
class CustomXmlNode : XmlNode {
public Object Tag {get; set;}
}
/* Tag is a common name for user-defined data in .NET */
创建Dictionary
:
Dictionary<XmlNode, Object> xmlMap = new Dictionary<XmlNode, Object>();
/* for each node you load, create a new dictionary entry */