Esempio n. 1
0
        public void IncorrentBehaviorOfReadAttributeValue()
        {
            string            xml = @"<?xml version='1.0' encoding='utf-8' ?>
									<!DOCTYPE text [
										<!ATTLIST book id CDATA #REQUIRED>
										<!ENTITY a '123'>
									]>
									<text id1='a 123 b' id2='2'/>"                                    ;
            XmlReaderSettings rs  = new XmlReaderSettings();

            rs.DtdProcessing = DtdProcessing.Ignore;
            XmlReader tr         = XmlReader.Create(new StringReader(xml), rs);
            XmlReader DataReader = XDocument.Load(tr).CreateReader();

            DataReader.ReadToFollowing("text");
            Assert.True(DataReader.MoveToNextAttribute());
            Assert.True(BridgeHelpers.VerifyNode(DataReader, XmlNodeType.Attribute, "id1", "a 123 b"));
            Assert.True(DataReader.ReadAttributeValue());
            Assert.True(BridgeHelpers.VerifyNode(DataReader, XmlNodeType.Text, "", "a "));
            Assert.True(DataReader.MoveToNextAttribute());
            Assert.True(BridgeHelpers.VerifyNode(DataReader, XmlNodeType.Attribute, "id2", "2"));
            Assert.True(DataReader.ReadAttributeValue());
            Assert.True(BridgeHelpers.VerifyNode(DataReader, XmlNodeType.Text, "", "2"));
            Assert.False(DataReader.MoveToNextAttribute());
            Assert.True(BridgeHelpers.VerifyNode(DataReader, XmlNodeType.Text, "", "2"));
            Assert.False(DataReader.ReadAttributeValue());
        }
        private static XmlReader GetReaderFromXDocumentAndPositionOnElementZero()
        {
            var bridgeHelpers = new BridgeHelpers();
            var dataReader    = bridgeHelpers.GetReader();

            bridgeHelpers.PositionOnElement(dataReader, "ACT0");
            return(dataReader);
        }