cod*_*nix 0 .net c# xml innerxml xmldocument
XmlDocument doc = new XmlDocument();
doc.AppendChild(doc.CreateElement("Foo"));
doc.DocumentElement.InnerXml = "Test";
StringBuilder result = new StringBuilder();
doc.WriteContentTo(XmlWriter.Create(result));
Run Code Online (Sandbox Code Playgroud)
最后,结果是:
<Foo>Test
Run Code Online (Sandbox Code Playgroud)
这意味着缺少最终元素.为什么这样,我该如何解决?
问题是你正在创建一个XmlWriter,但不会丢弃它 - 所以它不会刷新.试试这个:
using System;
using System.Text;
using System.Xml;
class Test
{
static void Main()
{
XmlDocument doc = new XmlDocument();
doc.AppendChild(doc.CreateElement("Foo"));
doc.DocumentElement.InnerXml = "Test";
StringBuilder result = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(result))
{
doc.WriteContentTo(writer);
}
Console.WriteLine(result);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
<?xml version="1.0" encoding="utf-16"?><Foo>Test</Foo>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1555 次 |
| 最近记录: |