gpt4 book ai didi

c# - 如何通过 HTTP 将连续的 XML 流读入 XElement

转载 作者:可可西里 更新时间:2023-11-01 16:33:35 27 4
gpt4 key购买 nike

我正在通过 http 响应流接收 xml 的“ block ”。每个chunk都是一个完整的mini xml层次结构,例如:

<chunk1>
<id>1</id>
<data>blah blah-blah</data>
</chunk1>
...
(30 seconds later)
...
<chunk2>
<id>2</id>
<data>blah blah-blah</data>
</chunk2>
...
(30 seconds later)
...
<chunk1>
<id>3</id>
<data>blah blah-blah</data>
</chunk1>

在 C# 中将每个“ block ”读入 XElement 以进行进一步处理的最佳方法是什么?每个 block 可能有不同的根元素。

我看到了对 similar questions 的回复.然而,响应似乎并不是最佳的,因为它们涉及处理每个节点。我只想读取流,直到到达与开始 block 节点对应的关闭节点,将整个 block 放入 XElement 中,调用方法对其进行处理,然后等待下一个 block 。

最佳答案

这正是我想要的:

XmlReader reader = XmlReader.Create(stream, new XmlReaderSettings() { ConformanceLevel = ConformanceLevel.Fragment });

while (reader.Read())
{
using (XmlReader subTreeReader = reader.ReadSubtree())
{
XElement xmlData = XElement.Load(subTreeReader);
Process(xmlData);
}
}

关于c# - 如何通过 HTTP 将连续的 XML 流读入 XElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25631003/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com