XML和C# – WriteEndElement
发布时间:2020-12-16 23:02:41 所属栏目:百科 来源:网络整理
导读:我正在使用System.Xml在C#中创建 XML文档 我的问题希望是一个简单的问题,我是否需要使用WriteEndElement来关闭XML标记? 例如,我发现以下代码将使用或不使用’writer.WriteEndElement();’进行编译并以任何方式生成相同的XML,但是如果我把’writer.WriteEndE
我正在使用System.Xml在C#中创建
XML文档
我的问题希望是一个简单的问题,我是否需要使用WriteEndElement来关闭XML标记? 例如,我发现以下代码将使用或不使用’writer.WriteEndElement();’进行编译并以任何方式生成相同的XML,但是如果我把’writer.WriteEndElement();’两次,该程序抛出异常. writer.WriteStartElement("CustomerNo"); writer.WriteString("12345"); writer.WriteEndElement(); 我不是懒惰,不介意把它放在它需要的地方,如果它应该是这样的,我只需要一些指导. 谢谢 约翰 解决方法
一般来说:是的,对于每个WriteStartElement(),必须有匹配的WriteEndElement().
将包含层次结构视为堆栈 – Starts(“推送”)和Ends(“pops”)必须平衡.如果你试图“弹出”超出结束,那就是失败,抛出异常,就像你描述的那样. 例如,要在A元素中写入B元素: WriteStartElement("A"); WriteStartElement("B"); // ... attributes or content added here will become part af B element WriteEndElement(); // Closes the open B element. WriteEndElement(); // Closes the open A element. 更新:正如@Sam在另一个答案中指出的那样 – 当你给出的例子中 – 你只想写出简单的内容元素(没有属性或子元素)时,你可能想看一下方便法WriteElementString( ),自动将内容包装在开始/结束标记中. 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |