コード例 #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 ());
        }
コード例 #2
0
ファイル: Recorder.cs プロジェクト: cmickeyb/waterwars
        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();
        }