public void XPathDocumentMoveToId() { string dtd = "<!DOCTYPE root [<!ELEMENT root EMPTY><!ATTLIST root id ID #REQUIRED>]>"; string xml = dtd + "<root id='aaa'/>"; XPathNavigator nav = navigator = XDocument.Parse(xml).CreateNavigator(); Assert.IsTrue(nav.MoveToId("aaa"), "ctor() from TextReader"); XmlValidatingReader xvr = new XmlValidatingReader(xml, XmlNodeType.Document, null); nav = new XPathDocument(xvr).CreateNavigator(); nav.MoveToId("aaa"); // it does not support this method }
public void XPathDocumentMoveToId() { string dtd = "<!DOCTYPE root [<!ELEMENT root EMPTY><!ATTLIST root id ID #REQUIRED>]>"; string xml = dtd + "<root id='aaa'/>"; StringReader sr = new StringReader(xml); XPathNavigator nav = new XPathDocument(sr).CreateNavigator(); Assert.IsTrue(nav.MoveToId("aaa"), "ctor() from TextReader"); XmlValidatingReader xvr = new XmlValidatingReader(xml, XmlNodeType.Document, null); nav = new XPathDocument(xvr).CreateNavigator(); Assert.IsTrue(nav.MoveToId("aaa"), "ctor() from XmlValidatingReader"); // FIXME: it seems to result in different in .NET 2.0. }