繁体   English   中英

有关在.Net中编写XML文件的问题?

[英]Question about Writing an XML File in .Net?

以下是我要遵循的XML模式:

<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <url>

      <loc>http://www.example.com/</loc>

      <lastmod>2005-01-01</lastmod>

      <changefreq>monthly</changefreq>

      <priority>0.8</priority>

   </url>

</urlset>

以下是我设法产生的结果:

<?xml version="1.0" encoding="utf-8"?>
<urlset>
  <url>
    <loc>http://www.ign.com</loc>
    <lastmod>2005-01-01</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

如您所见,有一个主要区别,我似乎无法重新创建'urlset'元素的属性字符串。

以下是我正在使用的代码:

            // Create the settings object that will define the settings that our writer will use.
        XmlWriterSettings settings = new XmlWriterSettings();
        settings.Encoding = Encoding.UTF8;
        settings.Indent = true;
        settings.OmitXmlDeclaration = false;

        // create the XML writer object.
        XmlWriter xmlW = XmlWriter.Create("SiteMap.xml", settings);

        // write the start header for the XML document.
        xmlW.WriteStartDocument();

        xmlW.WriteStartElement("urlset");

        xmlW.WriteStartElement("url");

        xmlW.WriteElementString("loc", "http://www.ign.com");
        xmlW.WriteElementString("lastmod", "2005-01-01");
        xmlW.WriteElementString("changefreq", "monthly");
        xmlW.WriteElementString("priority", "0.8");

        xmlW.WriteEndElement();

        xmlW.WriteFullEndElement();

        // close the writer.
        xmlW.Close();

        Console.ReadKey();

我的代码很简单,仍然与我所遵循的示例xml不匹配。 你们可以帮助确保两组xml相互匹配吗?

非常接近:

xmlW.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");

但是,您可能会发现使用序列化或LINQ-to-XML容易得多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM