我正在尝试使用Xmlwriter生成HTML输出,并遇到了HTML未按预期生成的问题。
我的代码看起来像这样。
writer.WriteStartElement("div");
writer.WriteAttributeString("class", "test");
writer.Flush();
//Load other control which write to same stream.
//other control generate o/p like this <div id=”other control”></div>
writer.WriteFullEndElement();
writer.Flush();
此代码的输出就是这样产生的。
<div class="test"
<div id=”other control”></div>
></div>
但预期的输出是
<div class="test">
<div id=”other control”></div>
</div>
任何人遇到同样的问题? 有什么建议吗?
答案 0 :(得分:0)
编程新手,所以不确定这个
//writer.Flush(); //if you need a flush to come before your control
writer.WriteStartElement("div");
writer.WriteStartAttribute("class");
writer.WriteValue("test"); // OR writer.WriteString("test");
writer.WriteEndAttribute(); //perhaps this way is handled differently.
writer.WriteStartElement("control");// with no attributes to confuse it you might want to name it div
//then your other control stuff
writer.WriteEndElement();// end of the control element
writer.WriteEndElement();// end of the div.
writer.Flush();
我认为WriteEndElement
决定它是否是/&gt;或&gt;&lt; /&的ElementName GT;或&gt; UnknownStuff&lt; / elementname&gt;,所以如果它有像你的控件或冲洗的东西,它不知道如何处理你的控件。
由于它写的最后一件事是属性,它将你的控件视为奇怪的属性。
将控件放在一个可以称为控件或&lt; div> WriteEndElement可能会认为它是一个奇怪的元素。
想象一下,如果您正在撰写WriteEndElement
课程,您可以如何制作XMLwriter
。
在它的生命周期中它将要处理什么。
它如何认识到它们不再具有属性,因为也许你可以以某种方式欺骗它。
如果你找到一种方法让它运作起来请你回答,因为我知道我已经通过阅读多年的论坛得到了帮助,我一直注意到,通常问题是关于六个口的回答,如果你在做什么的话你可能想过那个时候该做什么。