为 XmlDocument 设置 InnerXml 会导致缺少结束标记
XmlDocument doc = new XmlDocument();
doc.AppendChild(doc.CreateElement("Foo"));
doc.DocumentElement.InnerXml = "Test";
StringBuilder result = new StringBuilder();
doc.WriteContentTo(XmlWriter.Create(result));
最后的结果是:
<Foo>Test
表示缺少结束元素。这是为什么?我该如何解决它?
XmlDocument doc = new XmlDocument();
doc.AppendChild(doc.CreateElement("Foo"));
doc.DocumentElement.InnerXml = "Test";
StringBuilder result = new StringBuilder();
doc.WriteContentTo(XmlWriter.Create(result));
At the end, result is:
<Foo>Test
that means the end element is missing. Why is that and how can I fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题是您正在创建一个 XmlWriter,但没有处理它 - 所以它不会刷新。试试这个:
输出:
The problem is that you're creating an XmlWriter, but not disposing of it - so it's not flushing. Try this:
Output: