Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CompareSiblings()

XmlNodeOrder System.Xml.XPath.XPathNavigator.CompareSiblings ( XPathNavigator n1,
XPathNavigator n2 )
inlineprivateinherited

Definition at line 1739 of file XPathNavigator.cs.

1740 {
1741 int num = 0;
1742 switch (n1.NodeType)
1743 {
1744 case XPathNodeType.Attribute:
1745 num++;
1746 break;
1747 default:
1748 num += 2;
1749 break;
1750 case XPathNodeType.Namespace:
1751 break;
1752 }
1753 switch (n2.NodeType)
1754 {
1755 case XPathNodeType.Namespace:
1756 if (num != 0)
1757 {
1758 break;
1759 }
1760 while (n1.MoveToNextNamespace())
1761 {
1762 if (n1.IsSamePosition(n2))
1763 {
1764 return XmlNodeOrder.Before;
1765 }
1766 }
1767 break;
1768 case XPathNodeType.Attribute:
1769 num--;
1770 if (num != 0)
1771 {
1772 break;
1773 }
1774 while (n1.MoveToNextAttribute())
1775 {
1776 if (n1.IsSamePosition(n2))
1777 {
1778 return XmlNodeOrder.Before;
1779 }
1780 }
1781 break;
1782 default:
1783 num -= 2;
1784 if (num != 0)
1785 {
1786 break;
1787 }
1788 while (n1.MoveToNext())
1789 {
1790 if (n1.IsSamePosition(n2))
1791 {
1792 return XmlNodeOrder.Before;
1793 }
1794 }
1795 break;
1796 }
1797 if (num >= 0)
1798 {
1799 return XmlNodeOrder.After;
1800 }
1801 return XmlNodeOrder.Before;
1802 }

Referenced by System.Xml.XPath.XPathNavigator.ComparePosition().