XNode.DeepEquals(XNode, XNode) 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
比较两个节点的值,包括所有子代节点的值。
public:
 static bool DeepEquals(System::Xml::Linq::XNode ^ n1, System::Xml::Linq::XNode ^ n2);public static bool DeepEquals (System.Xml.Linq.XNode n1, System.Xml.Linq.XNode n2);public static bool DeepEquals (System.Xml.Linq.XNode? n1, System.Xml.Linq.XNode? n2);static member DeepEquals : System.Xml.Linq.XNode * System.Xml.Linq.XNode -> boolPublic Shared Function DeepEquals (n1 As XNode, n2 As XNode) As Boolean参数
返回
如果节点相等,则为 true;否则为 false。
示例
以下示例使用此方法比较两个 XML 树。
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")  
);  
Console.WriteLine(XNode.DeepEquals(xmlTree1, xmlTree2));  
Dim xmlTree1 As XElement = _   
        <Root Att1="1" Att2="2">  
            <Child1>1</Child1>  
            <Child2>some content</Child2>  
        </Root>  
Dim xmlTree2 As XElement = _   
        <Root Att1="1" Att2="2">  
            <Child1>1</Child1>  
            <Child2>some content</Child2>  
        </Root>  
Console.WriteLine(XNode.DeepEquals(xmlTree1, xmlTree2))  
该示例产生下面的输出:
True  
注解
以下条件确定两个节点是否相等:
- 节点 - null等于另一个- null节点,但与非- null节点不相等。
- 不同类型的两个 XNode 对象永远不会相等。 
- 如果两 XText 个节点包含相同的文本,则两个节点相等。 
- 如果两 XElement 个节点具有相同的标记名称、具有相同值的属性集,并且 (忽略注释和处理指令,) 包含两个相等长度的相同内容节点序列,则两个节点相等。 
- 如果两个节点的根节点相等,则两 XDocument 个节点相等。 
- 如果两 XComment 个节点包含相同的批注文本,则两个节点相等。 
- 如果两 XProcessingInstruction 个节点具有相同的目标和数据,则两个节点相等。 
- 如果具有相同的名称、公共 ID、系统 ID 和内部子集,则两 XDocumentType 个节点相等。