代码之家  ›  专栏  ›  技术社区  ›  Andrew Davey

将HTML 5 doctype添加到XDocument(.NET)

  •  3
  • Andrew Davey  · 技术社区  · 17 年前

    doc.AddFirst(new XDocumentType("html", null, null, null));
    

    <!DOCTYPE html >
    

    请注意闭合角括号前的额外空间。 如何防止出现此空间?

    3 回复  |  直到 17 年前
        1
  •  5
  •   Wai Ha Lee captain-yossarian from Ukraine    5 年前

    XDocument doc = new XDocument();
    doc.AddFirst(new XDocumentType("html", null, null, null));
    doc.Add(new XElement("foo", "bar"));
    
    using (XmlTextWriter writer = new XmlTextWriter("c:\\temp\\no_space.xml", null)) {
        writer.Formatting = Formatting.Indented;
        doc.WriteTo(writer);
        writer.Flush();
        writer.Close();
    }
    
        2
  •  3
  •   Alohci    17 年前

    XmlWriter writer = new MyXmlWriterWrapper(XmlWriter.Create(..., settings))
    

    public override void WriteDocType(string name, string pubid, string sysid, string subset)
    {
        if ((pubid == null) && (sysid == null) && (subset == null))
        {
            this.wrappedWriter.WriteRaw("<!DOCTYPE HTML>");
        }
        else
        {
            this.wrappedWriter.WriteDocType(name, pubid, sysid, subset);
        }
    }
    

        3
  •  0
  •   DmitryK    17 年前

    new XDocumentType("html", "-//W3C//DTD XHTML 1.0 Strict//EN", "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd", null)
    
    推荐文章