当通过 XElement.CreateWriter 创建编写器时,XmlWriter.WriteRaw 转义 xml
我注意到,当使用 XElement.CreateWriter 创建编写器时,XmlWriter.WriteRaw 似乎无法正常工作(它转义 xml 字符)。下面的测试用例重现了该问题。是我的用法不正确吗?有谁知道如何实现所需的行为?我需要能够将原始 xml 字符串写入 XmlWriter 并将该 xml 合并到 XElement 中。
[Test]
public void XElementWriterTest()
{
var xelement = new XElement("test");
using (var writer = xelement.CreateWriter())
{
writer.WriteRaw(@"<some raw='xml' />");
}
Assert.That(xelement.ToString(), Is.EqualTo(@"<test><some raw='xml' /></test>"));
// actual : "<test><some raw='xml' /></test>"
}
I have noticed that XmlWriter.WriteRaw appears to not work properly (it escapes xml characters) when the writer is created using XElement.CreateWriter. The below test case reproduces the problem. Is my usage incorrect? Does anyone know how to achieve the desired behavior? I need to be able to write a raw xml string to an XmlWriter and incorporate that xml into an XElement.
[Test]
public void XElementWriterTest()
{
var xelement = new XElement("test");
using (var writer = xelement.CreateWriter())
{
writer.WriteRaw(@"<some raw='xml' />");
}
Assert.That(xelement.ToString(), Is.EqualTo(@"<test><some raw='xml' /></test>"));
// actual : "<test><some raw='xml' /></test>"
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
XElement.Parse() 适合您吗?
Is XElement.Parse() an option for you at all?