Beispiel #1
0
        public void ToStringTest()
        {
            StringWriter  writer    = new StringWriter();
            XmlTextWriter xmlWriter = NiniWriter(writer);

            WriteSection(xmlWriter, "Pets");
            WriteKey(xmlWriter, "cat", "Muffy");
            WriteKey(xmlWriter, "dog", "Rover");
            xmlWriter.WriteEndDocument();
            xmlWriter.Close();

            StringReader    reader    = new StringReader(writer.ToString());
            XmlTextReader   xmlReader = new XmlTextReader(reader);
            XmlConfigSource source    = new XmlConfigSource(xmlReader);

            string eol = Environment.NewLine;

            string compare = "<?xml version=\"1.0\" encoding=\"utf-16\"?>" + eol
                             + "<Nini>" + eol
                             + "  <Section Name=\"Pets\">" + eol
                             + "    <Key Name=\"cat\" Value=\"Muffy\" />" + eol
                             + "    <Key Name=\"dog\" Value=\"Rover\" />" + eol
                             + "  </Section>" + eol
                             + "</Nini>";

            Assert.AreEqual(compare, source.ToString());
        }
Beispiel #2
0
        protected void RecordConfiguration(IConfigSource originalConfig)
        {
            m_xtw.WriteStartElement(ConfigElement);

            // Write out game configuration
            // We have to transfer this to an xml document to get xml
            XmlConfigSource intermediateConfig = new XmlConfigSource();

            intermediateConfig.Merge(originalConfig);

            // This is a roundabout way to get rid of the top xml processing directive that config.ToString() gives
            // us
            XmlDocument outputDoc = new XmlDocument();

            outputDoc.LoadXml(intermediateConfig.ToString());

            // Remove the other document's processing instruction
            outputDoc.RemoveChild(outputDoc.FirstChild);

            outputDoc.WriteTo(m_xtw);

            m_xtw.WriteStartElement(RegionsElement);
            // Write region names, positions and IDs
            foreach (Scene scene in m_controller.Scenes)
            {
                m_xtw.WriteStartElement(RegionElement);
                m_xtw.WriteAttributeString("Name", scene.RegionInfo.RegionName);
                m_xtw.WriteAttributeString("X", scene.RegionInfo.RegionLocX.ToString());
                m_xtw.WriteAttributeString("Y", scene.RegionInfo.RegionLocY.ToString());
                m_xtw.WriteEndElement();
            }
            m_xtw.WriteEndElement();

            m_xtw.WriteEndElement();
        }