コード例 #1
0
        private static void WriteArrivalDetails(LightXmlWriter writer, string val)
        {
            writer.WriteStartElement("ArrivalDetails");
            writer.WriteAttributeString("TransportationCode", 14);
            writer.WriteAttributeString("Number", val.Substring(2));

            writer.WriteStartElement("OperatingCompany");
            writer.WriteAttributeString("Code", val.Substring(0, 2));
            writer.WriteEndElement("OperatingCompany");

            writer.WriteEndElement("ArrivalDetails");
        }
コード例 #2
0
        public void Inner_Element_Without_Value()
        {
            var sb = new StringBuilder();

            using (var subject = new LightXmlWriter(new StringWriter(sb)))
            {
                subject.WriteStartElement("Person");
                subject.WriteStartElement("Details");
                subject.WriteEndElement("Details");
                subject.WriteEndElement("Person");
            }
            Assert.Equal("<Person><Details/></Person>", sb.ToString());
        }
コード例 #3
0
        private static void WriteSpecialEquipPrefs(LightXmlWriter writer)
        {
            writer.WriteStartElement("SpecialEquipPrefs");

            writer.WriteStartElement("SpecialEquipPref");
            writer.WriteAttributeString("EquipType", "7");
            writer.WriteAttributeString("Quantity", 1);
            writer.WriteEndElement("SpecialEquipPref");

            writer.WriteStartElement("SpecialEquipPref");
            writer.WriteAttributeString("EquipType", "8");
            writer.WriteAttributeString("Quantity", 1);
            writer.WriteEndElement("SpecialEquipPref");

            writer.WriteEndElement("SpecialEquipPrefs");
        }
コード例 #4
0
        public void Creates_InnerElement_Attributes()
        {
            var sb = new StringBuilder();

            using (var subject = new LightXmlWriter(new StringWriter(sb)))
            {
                subject.WriteStartElement("Person");
                subject.WriteStartElement("Details");
                subject.WriteStartAttribute("name");
                subject.WriteValue("Jon");
                subject.WriteEndAttribute();
                subject.WriteEndElement("Details");
                subject.WriteEndElement("Person");
            }
            Assert.Equal("<Person><Details name=\"Jon\"/></Person>", sb.ToString());
        }
コード例 #5
0
        public void Inner_InnerElement()
        {
            var sb = new StringBuilder();

            using (var subject = new LightXmlWriter(new StringWriter(sb)))
            {
                subject.WriteStartElement("Person");
                subject.WriteStartElement("Details");
                subject.WriteAttributeString("weight", "76");
                subject.WriteStartElement("Extra");
                subject.WriteEndElement("Extra");
                subject.WriteEndElement("Details");
                subject.WriteEndElement("Person");
            }
            Assert.Equal("<Person><Details weight=\"76\"><Extra/></Details></Person>", sb.ToString());
        }
コード例 #6
0
        private static void WriteVehRentalCore(LightXmlWriter writer)
        {
            writer.WriteStartElement("VehRentalCore");

            writer.WriteAttributeString("PickUpDateTime", "2017-05-30T09:00:00");
            writer.WriteAttributeString("ReturnDateTime", "2017-05-31T09:00:00");

            writer.WriteStartElement("PickUpLocation");
            writer.WriteAttributeString("LocationCode", "TIAC61");
            writer.WriteEndElement("PickUpLocation");

            writer.WriteStartElement("ReturnLocation");
            writer.WriteAttributeString("LocationCode", "TIAC61");
            writer.WriteEndElement("ReturnLocation");

            writer.WriteEndElement("VehRentalCore");
        }
コード例 #7
0
        public static void Write(LightXmlWriter writer)
        {
            const string prefix = "soapenv";

            writer.WriteStartElement(prefix, "Envelope", "http://schemas.xmlsoap.org/soap/envelope/");
            writer.WriteAttributeString("xmlns", "ns", null, "http://www.opentravel.org/OTA/2003/05");

            writer.WriteStartElement(prefix, "Header", null);
            writer.WriteEndElement(prefix, "Header");

            writer.WriteStartElement(prefix, "Body", null);

            WriteOtaVehResRQ(writer);

            writer.WriteEndElement(prefix, "Body");
            writer.WriteEndElement(prefix, "Envelope");
        }
コード例 #8
0
        public void Single_Element()
        {
            var sb = new StringBuilder();

            using (var subject = new LightXmlWriter(new StringWriter(sb)))
            {
                subject.WriteStartElement("Person");
                subject.WriteEndElement("Person");
            }
            Assert.Equal("<Person/>", sb.ToString());
        }
コード例 #9
0
        private static string WriteValueUsingLightXmlWriter(Action <LightXmlWriter> writeAction)
        {
            var sb = new StringBuilder();

            using (var writer = new LightXmlWriter(new StringWriter(sb, CultureInfo.InvariantCulture)))
            {
                writer.WriteStartElement("Person");
                writeAction(writer);
                writer.WriteEndElement("Person");
            }
            return(sb.ToString());
        }
コード例 #10
0
        public void Unescaped_Value()
        {
            var sb = new StringBuilder();

            using (var subject = new LightXmlWriter(new StringWriter(sb)))
            {
                subject.WriteStartElement("Person");
                subject.WriteValue("This is &some <person", escape: false);
                subject.WriteEndElement("Person");
            }
            Assert.Equal("<Person>This is &some <person</Person>", sb.ToString());
        }
コード例 #11
0
        public void Element_With_Null_Argument()
        {
            var sb = new StringBuilder();

            using (var subject = new LightXmlWriter(new StringWriter(sb)))
            {
                subject.WriteStartElement("Person");
                subject.WriteAttributeString("name", null);
                subject.WriteEndElement("Person");
            }
            Assert.Equal("<Person name=\"\"/>", sb.ToString());
        }
コード例 #12
0
        public void WriteAttributeString_Prefix_Empty_Namespace()
        {
            var sb = new StringBuilder();

            using (var subject = new LightXmlWriter(new StringWriter(sb)))
            {
                subject.WriteStartElement("Person");
                subject.WriteAttributeString("pref", "name", "", "Jon");
                subject.WriteEndElement("Person");
            }
            Assert.Equal("<Person pref:name=\"Jon\"/>", sb.ToString());
        }
コード例 #13
0
        public void WriteValue_Int()
        {
            var sb = new StringBuilder();

            using (var subject = new LightXmlWriter(new StringWriter(sb)))
            {
                subject.WriteStartElement("Person");
                subject.WriteValue(12);
                subject.WriteEndElement("Person");
            }
            Assert.Equal("<Person>12</Person>", sb.ToString());
        }
コード例 #14
0
        public void Inner_WriteElementString()
        {
            var sb = new StringBuilder();

            using (var subject = new LightXmlWriter(new StringWriter(sb)))
            {
                subject.WriteStartElement("Persons");
                subject.WriteElementString("Person", "Somebody");
                subject.WriteEndElement("Persons");
            }
            Assert.Equal("<Persons><Person>Somebody</Person></Persons>", sb.ToString());
        }
コード例 #15
0
        private static void WritePOS(LightXmlWriter writer)
        {
            writer.WriteStartElement("POS");

            writer.WriteStartElement("Source");
            writer.WriteAttributeString("ISOCountry", "FR");
            writer.WriteStartElement("RequestorID");
            writer.WriteAttributeString("Type", 4);
            writer.WriteAttributeString("ID", "XMLRTA");
            writer.WriteStartElement("CompanyName");
            writer.WriteAttributeString("Code", "EX");
            writer.WriteAttributeString("CompanyShortName", "EHIXMLTEST");
            writer.WriteEndElement("CompanyName");
            writer.WriteEndElement("RequestorID");
            writer.WriteEndElement("Source");

            writer.WriteStartElement("Source");
            writer.WriteStartElement("RequestorID");
            writer.WriteAttributeString("Type", 4);
            writer.WriteAttributeString("ID", "00000000");
            writer.WriteAttributeString("ID_Context", "IATA");
            writer.WriteEndElement("RequestorID");
            writer.WriteEndElement("Source");

            writer.WriteEndElement("POS");
        }
コード例 #16
0
        public void Write_Value_Then_Write_Raw()
        {
            var sb = new StringBuilder();

            using (var subject = new LightXmlWriter(new StringWriter(sb)))
            {
                subject.WriteStartElement("Person");
                subject.WriteValue("&first");
                subject.WriteRaw("&second");
                subject.WriteEndElement("Person");
            }
            Assert.Equal("<Person>&amp;first&second</Person>", sb.ToString());
        }
コード例 #17
0
        private static void WriteCustomer(LightXmlWriter writer)
        {
            writer.WriteStartElement("Customer");
            writer.WriteStartElement("Primary");

            writer.WriteStartElement("PersonName");
            writer.WriteElementString("NamePrefix", "Mr");
            writer.WriteElementString("GivenName", "John");
            writer.WriteElementString("Surname", "Doe");
            writer.WriteEndElement("PersonName");

            writer.WriteStartElement("Telephone");
            writer.WriteAttributeString("PhoneUseType", "3");
            writer.WriteAttributeString("PhoneTechType", "1");
            writer.WriteAttributeString("CountryAccessCode", "");
            writer.WriteAttributeString("AreaCityCode", "");
            writer.WriteAttributeString("PhoneNumber", "666-777-888");
            writer.WriteEndElement("Telephone");

            writer.WriteElementString("Email", "*****@*****.**");

            writer.WriteEndElement("Primary");
            writer.WriteEndElement("Customer");
        }
コード例 #18
0
        public void WriteEndElement()
        {
            var sb = new StringBuilder();

            using (var writer = new LightXmlWriter(new StringWriter(sb)))
            {
                writer.WriteEndElement(null);
                Assert.Equal(">", sb.ToString());
                sb.Clear();

                writer.WriteEndElement("");
                Assert.Equal("</>", sb.ToString());
                sb.Clear();

                writer.WriteEndElement("x");
                Assert.Equal("</x>", sb.ToString());
                sb.Clear();

                writer.WriteStartElement("root");
                writer.WriteEndElement("root");
                Assert.Equal("<root/>", sb.ToString());
                sb.Clear();

                writer.WriteStartElement("root");
                writer.WriteValue("value");
                writer.WriteEndElement("root");
                Assert.Equal("<root>value</root>", sb.ToString());
                sb.Clear();

                writer.WriteStartElement("root");
                writer.WriteValue("value");
                writer.WriteEndElement("");
                Assert.Equal("<root>value</>", sb.ToString());
                sb.Clear();

                writer.WriteStartElement("");
                writer.WriteValue("value");
                writer.WriteEndElement("root");
                Assert.Equal("<>value</root>", sb.ToString());
                sb.Clear();

                writer.WriteStartElement("root");
                writer.WriteValue("");
                writer.WriteEndElement("root");
                Assert.Equal("<root></root>", sb.ToString());
                sb.Clear();

                writer.WriteStartElement("root");
                writer.WriteValue(null);
                writer.WriteEndElement("root");
                Assert.Equal("<root></root>", sb.ToString());
                sb.Clear();

                writer.WriteStartElement("root");
                writer.WriteStartAttribute("attr");
                writer.WriteEndElement("root");
                Assert.Equal("<root attr=\"/>", sb.ToString());
                sb.Clear();

                writer.WriteStartElement("root");
                writer.WriteStartAttribute("attr");
                writer.WriteValue("value");
                writer.WriteEndElement("root");
                Assert.Equal("<root attr=\"value/>", sb.ToString());
                sb.Clear();
            }
        }
コード例 #19
0
 private static void WriteVendorPref(LightXmlWriter writer, string code)
 {
     writer.WriteStartElement("VendorPref");
     writer.WriteAttributeString("Code", code);
     writer.WriteEndElement("VendorPref");
 }
コード例 #20
0
 private static void WriteVehPref(LightXmlWriter writer)
 {
     writer.WriteStartElement("VehPref");
     writer.WriteAttributeString("Code", "EBMR");
     writer.WriteEndElement("VehPref");
 }
コード例 #21
0
 private static void WriteRateQualifier(LightXmlWriter writer)
 {
     writer.WriteStartElement("RateQualifier");
     writer.WriteAttributeString("RateQualifier", "ER1AL");
     writer.WriteEndElement("RateQualifier");
 }
コード例 #22
0
        private static void WriteOtaVehResRQ(LightXmlWriter writer)
        {
            writer.WriteStartElement(null, "OTA_VehResRQ", "http://www.opentravel.org/OTA/2003/05");
            writer.WriteAttributeString("PrimaryLangID", "EN");
            writer.WriteAttributeString("Target", "Test");
            writer.WriteAttributeString("Version", "3.0");
            writer.WriteAttributeString("xmlns", "http://www.opentravel.org/OTA/2003/05");
            writer.WriteAttributeString("xmlns", "xsi", null, "http://www.w3.org/2001/XMLSchema-instance");
            WritePOS(writer);
            writer.WriteStartElement("VehResRQCore");
            writer.WriteAttributeString("Status", "Available");
            WriteVehRentalCore(writer);
            WriteCustomer(writer);
            WriteVendorPref(writer, "ET");
            WriteVehPref(writer);

            writer.WriteStartElement("DriverType");
            writer.WriteAttributeString("Age", 25);
            writer.WriteEndElement("DriverType");

            WriteRateQualifier(writer);
            WriteSpecialEquipPrefs(writer);
            writer.WriteStartElement("TPA_Extensions");

            writer.WriteStartElement("TPA_Extension_Flags");
            writer.WriteAttributeString("EnhancedTotalPrice", "true");
            writer.WriteEndElement("TPA_Extension_Flags");

            writer.WriteEndElement("TPA_Extensions");
            writer.WriteEndElement("VehResRQCore");

            writer.WriteStartElement("VehResRQInfo");
            WriteArrivalDetails(writer, "LH1234");
            writer.WriteStartElement("RentalPaymentPref");

            writer.WriteStartElement("Voucher");
            writer.WriteAttributeString("SeriesCode", "cust-abc123");
            writer.WriteEndElement("Voucher");

            writer.WriteEndElement("RentalPaymentPref");

            writer.WriteStartElement("Reference");
            writer.WriteAttributeString("ID", "ER1AL");
            writer.WriteAttributeString("DateTime", "2013-05-01T19:36:00");
            writer.WriteAttributeString("Type", "16");
            writer.WriteEndElement("Reference");

            writer.WriteStartElement("TPA_Extensions");

            writer.WriteStartElement("TPA_Extensions_Ref");
            writer.WriteAttributeString("AltResNumber", "q8ot");
            writer.WriteEndElement("TPA_Extensions_Ref");

            writer.WriteStartElement("TPA_Extensions_Ref");
            writer.WriteAttributeString("CoRef1", "cust-abc123");
            writer.WriteEndElement("TPA_Extensions_Ref");

            writer.WriteEndElement("TPA_Extensions");
            writer.WriteEndElement("VehResRQInfo");
            writer.WriteEndElement("OTA_VehResRQ");
        }