XMLWriter HTML الخلق - كيفية إضافة بسيطة غير زوج العلامات ؟

StackOverflow https://stackoverflow.com/questions/1807975

  •  05-07-2019
  •  | 
  •  

سؤال

وقد نصح استخدام XMLwriter لبناء مستندات HTML من أجل عرضها في كائن webbrowser.خلق doctype و startelements مثل HTML,الجسم على ما يرام..ولكن أنا أواجه 2 المشاكل الرئيسية:

  1. لا أستطيع إضافة علامات مثل <br>.باستخدام WriteString يتخطى < و >.
  2. سلسلة الإخراج هو سطر واحد - أنا بحاجة إلى شيء مثل writeLine.هل تعلم أني عندما عرض مصدر كل ما في السطر الأول.

شكرا

هل كانت مفيدة؟

المحلول

HTML غير صالحة تنسيق XML, كما كنت discoving مع العلامات مثل <img ...="">

يمكنك إنشاء XHTML, الذي هو XML متوافق مع (تحديد هذا في DOCTYPE)

في XHTML واحد العلامات يكتب مثل هذا <br /> على سبيل المثال

 HTML: <img src="..">
 XHTML: <img src=".." />

هذا الرابط قد تكون مفيدة XHTML مقابل HTML

بيضاء تخطيط لطيفة للبشر القراءة, ولكن لا فرق في كيفية المتصفح يجعل Xhtml.في الحقيقة تجريد غير الضرورية بيضاء سوف تنتج أصغر قليلا الملفات.

نصائح أخرى

هل يمكن استخدام Indent مكان الإقامة:

var settings = new XmlWriterSettings();
settings.Indent = true;
using (var writer = XmlWriter.Create(outputStream, settings))
{
    writer.WriteDocType("html", "-//W3C//DTD XHTML 1.0 Transitional//EN", "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd", null);
    writer.WriteStartElement("html");
    writer.WriteStartElement("body");
    writer.WriteStartElement("b");
    writer.WriteValue("Test");

    writer.WriteEndElement();
    writer.WriteEndElement();
    writer.WriteEndElement();
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top