XNodeEqualityComparer.Equals(XNode, XNode) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
比较两个节点的值。
public:
virtual bool Equals(System::Xml::Linq::XNode ^ x, System::Xml::Linq::XNode ^ y);
public bool Equals (System.Xml.Linq.XNode x, System.Xml.Linq.XNode y);
public bool Equals (System.Xml.Linq.XNode? x, System.Xml.Linq.XNode? y);
override this.Equals : System.Xml.Linq.XNode * System.Xml.Linq.XNode -> bool
Public Function Equals (x As XNode, y As XNode) As Boolean
参数
返回
指示节点是否相等的 Boolean。
实现
示例
以下示例使用此类来比较两个节点。
XElement xmlTree1 = new XElement("Root",
new XAttribute("Att1", 1),
new XAttribute("Att2", 2),
new XElement("Child1", 1),
new XElement("Child2", "some content")
);
XElement xmlTree2 = new XElement("Root",
new XAttribute("Att1", 1),
new XAttribute("Att2", 2),
new XElement("Child1", 1),
new XElement("Child2", "some content")
);
XNodeEqualityComparer equalityComparer = new XNodeEqualityComparer();
Console.WriteLine(equalityComparer.Equals(xmlTree1, xmlTree2));
xmlTree2.Add(new XElement("NewChild", "new content"));
Console.WriteLine(equalityComparer.Equals(xmlTree1, xmlTree2));
该示例产生下面的输出:
True
False
注解
以下条件确定两个节点是否相等:
一个
null
节点等于另一个null
节点,但与非null
节点不相等。不同类型的两个 XNode 对象永远不会相等。
如果两 XText 个节点包含相同的文本,则它们相等。
如果两个 XElement 节点具有相同的标记名称、具有相同值的属性集,并且 (忽略注释和处理指令) 包含两个成对相等内容节点的等长序列,则两个节点相等。
如果两 XDocument 个对象的根节点相等,则两个对象相等。
如果两 XComment 个节点包含相同的注释文本,则它们相等。
如果两 XProcessingInstruction 个节点具有相同的目标和数据,则它们相等。
如果 具有相同的名称、公共 ID、系统 ID 和内部子集,则两 XDocumentType 个节点相等。
适用于
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈