コード例 #1
0
        public void ShouldGetValueFromSecondLevelElementWithNamespace()
        {
            const string xml = XmlHeader + "<a xmlns:atom='http://www.w3.org/2005/Atom'><atom:b><atom:c>valueC1</atom:c><atom:c>valueC2</atom:c><atom:d>valueD</atom:d><atom:e></atom:e><atom:f/><g>valueG</g></atom:b></a>";

            dynamic dynamicObject = new DynamicXmlObject(xml);

            Assert.AreEqual("valueC1", dynamicObject.Element("b", "http://www.w3.org/2005/Atom").Element("c", "http://www.w3.org/2005/Atom")[0]);
            Assert.AreEqual("valueC2", dynamicObject.Element("b", "http://www.w3.org/2005/Atom").Element("c", "http://www.w3.org/2005/Atom")[1]);
            Assert.AreEqual("valueD", dynamicObject.Element("b", "http://www.w3.org/2005/Atom").Element("d", "http://www.w3.org/2005/Atom"));
            Assert.AreEqual(string.Empty, dynamicObject.Element("b", "http://www.w3.org/2005/Atom").Element("e", "http://www.w3.org/2005/Atom"));
            Assert.AreEqual(string.Empty, dynamicObject.Element("b", "http://www.w3.org/2005/Atom").Element("f", "http://www.w3.org/2005/Atom"));

            Assert.AreEqual("valueG", dynamicObject.Element("b", "http://www.w3.org/2005/Atom").g);
        }
コード例 #2
0
        public void ShouldThrowRuntimeBinderExceptionIfElementWithNamespaceDoesNotExist()
        {
            const string xml =
                XmlHeader +
                "<a xmlns:atom='http://www.w3.org/2005/Atom'></a>";

            dynamic dynamicObject = new DynamicXmlObject(xml, shouldThrowOnInexistentElement: true);

            TestHelpers.ExpectExceptionTypeOf<RuntimeBinderException>(() => dynamicObject.Element("b", "http://www.w3.org/2005/Atom"));
        }
コード例 #3
0
        public void ShouldGetValueFromFirstLevelElementWithNamespace()
        {
            const string xml =
                XmlHeader +
                "<a xmlns:atom='http://www.w3.org/2005/Atom'><atom:b>valueB1</atom:b><atom:b>valueB2</atom:b><atom:c>valueC</atom:c><atom:d></atom:d><atom:e/><f>valueF</f></a>";

            dynamic dynamicObject = new DynamicXmlObject(xml);

            Assert.AreEqual("valueB1", dynamicObject.Element("b", "http://www.w3.org/2005/Atom")[0]);
            Assert.AreEqual("valueB2", dynamicObject.Element("b", "http://www.w3.org/2005/Atom")[1]);
            Assert.AreEqual("valueC", dynamicObject.Element("c", "http://www.w3.org/2005/Atom"));
            Assert.AreEqual(string.Empty, dynamicObject.Element("d", "http://www.w3.org/2005/Atom"));
            Assert.AreEqual(string.Empty, dynamicObject.Element("e", "http://www.w3.org/2005/Atom"));

            Assert.AreEqual("valueF", dynamicObject.f);
        }