- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个 XElement
实例,我希望使用 XmlWriter
类写入流。为什么?好吧,其中一个配置设置定义了是否使用二进制 Xml。基于此设置,创建合适的 XmlWriter
实例 - 通过 XmlWriter.Create(stream)
或 XmlDictionaryWriter.CreateBinaryWriter(stream))
。
无论如何,我正在尝试以下代码,但它使流为空:
using (var stream = new MemoryStream())
{
var xmlReader = new XDocument(xml).CreateReader();
xmlReader.MoveToContent();
var xmlWriter = GetXmlWriter(stream);
xmlWriter.WriteNode(xmlReader, true);
return stream.ToArray();
}
我已经检查过,xmlReader
在根 XML 元素的 MoveToContent
之后正确对齐。
我一定是做错了什么,但是什么?
谢谢。
最佳答案
您还没有展示 GetXmlWriter 的作用...但是您是否尝试过刷新编写器?
xmlWriter.Flush();
或者,将 XmlWriter
包装在另一个 using
语句中:
using (var stream = new MemoryStream())
{
var xmlReader = new XDocument(xml).CreateReader();
xmlReader.MoveToContent();
using (var xmlWriter = GetXmlWriter(stream))
{
xmlWriter.WriteNode(xmlReader, true);
}
return stream.ToArray();
}
您可能也想对 XmlReader
执行相同的操作,尽管在这种特殊情况下我认为您不是特别需要这样做。
说了这么多,我完全不确定您为什么要使用 XmlReader
。任何原因你不能只找到相关的 XElement
并使用 XElement.WriteTo(XmlWriter)
?或者,如果您要复制整个文档,只需使用 XDocument.WriteTo(XmlWriter)
关于c# - 如何使用 XmlWriter 将 System.Xml.Linq.XElement 写入流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1865529/
我想知道 XmlWriter.WriteStartDocument() 背后的原因和 XmlWriter.WriteEndDocument() . 在我的场景中,我正在创建一个包含一些数据的 XML
我想使用 XMLWriter 在 XML 文档之上生成一个嵌套的实体 DTD 声明。我从不带 XMLWriter 的字符串构建代码开始,它也说明了所需的输出: \n"; $sXML .= "%nest
我正在使用 XmlWriter,我想知道是否有人曾尝试编写带有属性的 xml 元素字符串(叶节点),以便输出看起来像 999 代替 999 最佳答案 您可以使用 WriteString .
我无法理解 XmlWriter 在 C# 中的工作方式。假设以下代码在某处使用过。 StringBuilder builder = new StringBuilder(); XmlWriterSett
我正在使用 XmlWriter 并且正在努力创建以下 XML 标记。 我有以下内容: XmlWriterSettings settings = new XmlWriterSettings(); se
我正在尝试生成符合这种格式的 XML 数据: 由于匿名原因,它显然缺少很多标签。 我正在使用 XmlWriter。 我设法用不同的 WriteStartElement() 和 Write
目前我正在使用 XmlWriter,想问一下如何在现有的 XML 文件中写入,例如: a.xml Test3 100 加入 ,例如 Test1 的位置没有任何作用,但最好写在
我正在使用 XmlWriter 构建一些 xml,使用有效的 xml 文件作为我的模板。在文件中,我有这一行: 所以,我在 C# 中做了这个: writer.WriteStartElement("ds
我有一个问题。我编写了一个程序,将大量数据转换为 VML-GML 格式。问题是我需要使用 XmlWriter... 现在我的方法有问题: private void StartDocument() {
下面是代码。我的问题是,如果我想创建此文件,然后稍后使用 XmlWriter 重新打开它并向当前文件添加更多内容,该怎么做?喜欢使用 XmlWriter 进入并编辑此 xml using System
我在 msdn 文档中找到了异步使用 XmlWriter 的示例 http://msdn.microsoft.com/en-us/library/system.xml.xmlwriter.aspx a
我正在使用 XMLWriter http://www.php.net/manual/en/book.xmlwriter.php让我的网络客户端创建一个 XML 文件。一开始必须有一个具有很多属性的元素
我有一个 WCF 服务需要返回一个 XML 字符串。但似乎作者只想建立一个文件,而不是一个字符串。我试过: string nextXMLstring = ""; using (XmlWriter wr
我正在尝试生成此文档类型字符串: 这是我一直在尝试的: $writer.WriteDocType("games", $null , "transform.dtd", $null ) 我不完全确定如何
我试图将我的应用程序中的一些元素保存在 xml 文件中,但是当我开始使用以下代码开发它时: public static void WriteInFile(string savefilepath)
我有以下代码: MemoryStream ms = new MemoryStream(); XmlWriter w = XmlWriter.Create(ms); w.Writ
本文整理了Java中org.pageseeder.xmlwriter.XMLStringWriter类的一些代码示例,展示了XMLStringWriter类的具体用法。这些代码示例主要来源于Githu
System.Xml.XmlWriter的一个实例正在写入底层 Stream 吗?(不管 XmlWriter 的具体实现是什么) 那么为什么程序员没有方法可以从 XmlWriter 中检索 Strea
我将如何使用 XMlWriter 类创建这个字符串?我不断收到错误。 这是我尝试创建的 XML 字符串: 这是我试图用它生成的代码: using (XmlWriter writer = XmlWri
我在 XMLWriter 没有关闭时遇到了一些麻烦。我可以成功写入一次 XML 文件,但是如果我尝试再次写入(覆盖),则会出现异常: “该进程无法访问文件 'somefile.xml',因为它正被另一
我是一名优秀的程序员,十分优秀!