C# 关于XmlTextWriter的几个问题
我是编辑XML的新手,我遇到了一些问题 第一:如何在每个C# 关于XmlTextWriter的几个问题,c#,.net,xml,xml-serialization,xmltextwriter,C#,.net,Xml,Xml Serialization,Xmltextwriter,我是编辑XML的新手,我遇到了一些问题 第一:如何在每个writer.WriteEndElement()之后添加新行。我找到了使用writer.WriteWhitespace(“\n”)的示例但它似乎没有产生任何新行 第二:由于前面的问题,我认为这可能没有任何作用,但我想在结尾使用它缩进我的代码:writer.Formatting=Formatting.Indented,但它似乎没有任何作用(很可能是因为我没有新行) 第三:因为我要把这个附加到以前的文件中,所以我去掉了我主要父母的结束标记,以便
writer.WriteEndElement()之后添加新行代码>。我找到了使用writer.WriteWhitespace(“\n”)的示例代码>但它似乎没有产生任何新行
第二:由于前面的问题,我认为这可能没有任何作用,但我想在结尾使用它缩进我的代码:writer.Formatting=Formatting.Indented代码>,但它似乎没有任何作用(很可能是因为我没有新行)
第三:因为我要把这个附加到以前的文件中,所以我去掉了我主要父母的结束标记,以便我可以添加这个新数据。我希望我能有一个writer.WriteEndElement()
关闭最后一个标记,但由于我在编写时没有创建开始标记,因此似乎没有意识到有一个开始标记。有没有一个好方法可以做到这一点,或者我应该以代码结尾,在文件末尾编写
欢迎提出任何意见或建议。试试以下方法:
using (var stringWriter = new StringWriter())
using (var writer = new XmlTextWriter(stringWriter))
{
writer.WriteRaw("</closingTagName>");
writer.Formatting = Formatting.Indented;
writer.Indentation = 10;
writer.WriteStartElement("Element1");
writer.WriteStartElement("Element2");
writer.WriteString("test");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteWhitespace(Environment.NewLine);
writer.WriteStartElement("Element3");
writer.WriteEndElement();
var result = stringWriter.ToString();
使用(var stringWriter=new stringWriter())
使用(var writer=newXMLTextWriter(stringWriter))
{
writer.WriteRaw(“”);
writer.Formatting=格式化.缩进;
writer.Indentation=10;
writer.writeStart元素(“元素1”);
writer.writeStart元素(“元素2”);
写作测试(“测试”);
writer.writeedelement();
writer.writeedelement();
writer.WriteWhitespace(Environment.NewLine);
writer.writeStart元素(“元素3”);
writer.writeedelement();
var result=stringWriter.ToString();
结果:
</closingTagName> -- Closing tag
<Element1>
<Element2>test</Element2> -- Line with the ident 10.
</Element1>
-- extra new line
<Element3 />
——结束标记
测试——与识别号10一致。
--额外的新线路
首先,你不应该留下一个单独的开始标记…始终添加完整的元素,包括开始标记和结束标记…如果你有一些未指定数量的元素,那么只需为它们创建子元素并将它们添加到父元素中。我立即删除它。我开始写入它,然后关闭它again@Johnston-你说它没有是什么意思“不行。我在粘贴到这里之前测试了这段代码,还粘贴了result
string的输出。@约翰斯顿-另外,我不建议同时使用identiation和新行,因为编写者会因此感到困惑。只使用identiation.hmm删除格式代码似乎可以解决这一问题。。谢谢!